对具有多个ID的行求和 [英] Sum rows with multiple ID
本文介绍了对具有多个ID的行求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用此查询:
SELECT SUM(voc=1) AS s, SUM(voc=2) AS d, SUM(voc=3) AS p FROM `pl`;
但是现在我需要修改此查询,因此当voc
等于多个数字时,它将变为SUM
:
But now I need to modify this query, so it'll SUM
when voc
is equal to the multiple numbers:
SELECT SUM ( voc = 1 OR voc = 7 OR voc = 3 ) as `s` FROM `pl`;
不幸的是,以上操作无法正常进行,我已阅读到可以使用CASE
完成此操作,但是我对此的了解太少了...
Unfortunately , the above is not working properly, I've read that this can be done using CASE
, but my knowledge about that is too small...
推荐答案
SELECT SUM ( CASE WHEN voc = 1 OR voc = 7 OR voc = 3 THEN 1 ELSE 0 END) as `s` FROM `pl`;
UPD 如@Raul在评论中所述-WHERE
应该更加有效,例如:
UPD As stated by @Raul in comment - WHERE
should be much more effective, like this:
SELECT COUNT(*) AS `s` FROM `p1` WHERE voc IN (1,3,7);
UPD2 将总和"更改为计数"-感谢@newtower
UPD2 Changed Sum's to Count's - thanks to @newtower
这篇关于对具有多个ID的行求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文