无条件地计数2列2列

时间:2017-09-14 14:48:15

标签: mysql sql

我想计算一列的内容,这没问题。 但是我也想计算另一个列内容,但是有一个where条件。

我想象它以便更好地解释:

我的表

Index1       Index2
1            0
1            2
2            2
2            2
2            2

现在我想计算Index1的内容,我知道数字1和2出现的频率。 但我想进一步计算Index2的内容,但只计算高于1的数字。

结果

Index1       amount
1            1
2            3

但是当我使用where条件时,它用于两列。 我尝试了它,但它不起作用。

这个问题有一些舒适的解决方案吗?

1 个答案:

答案 0 :(得分:4)

这称为条件聚合,在MySQL中它非常简单:

SELECT t.index1,
       COUNT(*) as amount
       SUM(t.index2>1) as amountWithWhere
FROM YourTable t
GROUP BY t.index1