如何计算SQL中每个值的表行?

时间:2018-12-30 12:56:59

标签: php mysql sql

我在这里是新来的,所以如果它的主题不固定,请修复我。 我有这张桌子:

id | uid | month | year
-----------------------
1 | 5 | 12 | 2018
2 | 5 | 12 | 2018
3 | 9 | 12 | 2018
4 | 3 | 01 | 2019

我想计算uidmonth的每个值等于-yearmonth=12

的次数

例如,我想得到这样的响应:

year=2018

怎么可能?

3 个答案:

答案 0 :(得分:1)

使用git push origin master

group by uid

答案 1 :(得分:0)

您可以使用条件聚合:

select uid,
       sum(case when year = 2018 and month = 12 then 1 else 0 end) as cnt
from t
group by uid;

这将包括计数为0的uid个。如果您只想要计数大于0的uid,请使用where子句:

select uid, count(*)
from t
where year = 2018 and month = 12
group by uid;

答案 2 :(得分:0)

选择uid,从year = 2018和month = 12按uid分组的表中选择count(*)