mysql - 具有 4 个 bool 列和 1 个 int 列的 sql 表。如何将一个 int 中的所有 bool 值相加

标签 mysql sql

我正在尝试将所有行和所有列中的所有 true bool 值添加在一起。

我的 table 看起来像:

enter image description here

我想做这样的事情:

SELECT *
FROM name
WHERE kw = 8 --> MO + DI + MI + DO = 10

这应该可以在一次选择中实现,但我只是不知道如何。

最佳答案

将每条记录的值相加,然后使用聚合对行进行求和。由于它们是 bool 值,加零不会影响求和结果。

SELECT sum(MO+DI+MI+DO) myResult
FROM name
where kw = 8

如果您需要按每个 kw 分组的数据集...您也可以这样做...这比单独按每个 kw 查询性能更好。

SELECT kw, sum(MO+DI+MI+DO) myResult
FROM name
GROUP BY kw

关于mysql - 具有 4 个 bool 列和 1 个 int 列的 sql 表。如何将一个 int 中的所有 bool 值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35700944/

相关文章:

mysql - 统计不同表中的违规次数

mysql - 检索每个组中的最后一条记录 - MySQL

mysql - mysql IN 语句中的野生表达式

sql - 比较日期而不考虑时间(MSSQL)

c# - SQL重复记录查询

PHP 将单选按钮和复选框值链接到连接表?

php - 显示多行 MySQL

php - 从 Left Join 中的第一个表获取变量

mysql - 插入mysql时出错?

mysql - 获取以下查询的答案的计数