我有一张这样的表:
staffname | periods
___________________
david | yes
seema | no
raj | yes
seema | no
david | yes
现在我想要这样的结果:
staffname | periods
___________________
david | 2
seema | 2
raj | 1
如果你能理解我想要的名字和数量,对第二栏的价值无关紧要。
我试过了,但我得到了重复的行。
请帮忙。
答案 0 :(得分:3)
试试这个:
SELECT STAFFNAME, COUNT(*) as PERIODS
FROM TABLE
GROUP BY STAFFNAME
答案 1 :(得分:1)
试试这个
select staffname, count(periods) as periods from table1
group by staffname
如果你想按照你的结果订购它们,只需在最后添加
order by periods desc
答案 2 :(得分:0)
尝试以下代码。它可以根据需要提供精确的结果。
select staffname, count(1) as 'periods' from table1
group by staffname order by periods desc, staffname;
链接到sqlfiddle。
答案 3 :(得分:0)
SELECT staffname, COUNT(*) AS periods
FROM first_table
GROUP BY staffname
ORDER BY periods DESC
答案 4 :(得分:0)
很简单,
SELECT staffname,COUNT(periods) AS periods
FROM TableName
Group By staffname