mysql - 是否可以在 SUM 查询期间对值进行 CAST 转换?

标签 mysql casting sum

我有一个简单的查询来汇总列的值。然而,对于 bool 值,我使用 ENUM 字段,它将所有值存储为字符串,因此 SUM 工作不正确。 MySQL 允许在选择和排序期间对值执行 CASTING 操作,但它似乎不适用于数学函数。

这是我的查询示例:

SELECT SUM(CAST(`tables` AS SIGNED)) AS total FROM event_guests WHERE `event_id`='1923'

我做错了什么吗?

最佳答案

尝试在 SQL 变量中分配强制转换字段。然后在数学运算中使用该变量。

<小时/>
SET @v2 = CAST('tables' AS SIGNED);
SELECT (@v1 := CAST(`tables` AS SIGNED)) AS signed_tables, SUM(@v1) AS total FROM event_guests WHERE `event_id` = '1923';

关于mysql - 是否可以在 SUM 查询期间对值进行 CAST 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4938988/

相关文章:

mysql - 将 docker 容器连接到本地工作台 MySQL DB

mysql - 无法使用 MySQL Workbench 连接到 Azure MySQL 服务

c++ - const_cast 的奇怪行为

c++ - 为什么unique_ptr不允许const_cast?

mysql - 如何在mysql中找到组的总和并找到权重?

c++ - 双变量之和

php - 出其不意而无事?

php - 使用多维数组按类别分组和显示 MySQL 结果

尽管格式有效,MySQL str_to_date 仍生成 NULL

python - pandas 列值合并