带有4个bool列和1个int列的sql表。如何将一个int中的所有bool一起添加

时间:2016-02-29 13:35:12

标签: mysql sql

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

我的表格如下:

enter image description here

我想做类似的事情:

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

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

2 个答案:

答案 0 :(得分:0)

为每条记录添加值,然后使用聚合对行进行求和。由于它们是布尔值,因此添加零不会影响求和结果。

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

答案 1 :(得分:0)

查看

SELECT (MO<<3) + (DI<<2) + (MI <<1) + (DO <<0);

到udpate

UPDATE table set KW = (MO<<3) + (DI<<2) + (MI <<1) + (DO <<0);