我想象如何解决我的任务:
SELECT row, val1, val2, SUM(1) AS total
FROM mess
if(row < 0){ GROUP BY val1, val2 } if(row > 0) {GROUP BY val1}
我需要在一个 SELECT 中使用两个不同的 GROUP BY,这可能吗?
最佳答案
SELECT row, val1, val2, SUM(1) AS total,
CASE WHEN row<0 THEN val2 ELSE 0 END as group2
FROM mess
GROUP BY val1, group2
如果行>0,所有值都相同,所以组结果将只计算 val1
关于mysql - 在条件下使用 GROUP BY,怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35811422/