我如何为此构建查询

时间:2013-06-15 12:13:32

标签: mysql sql database

我有一张这样的表:

staffname | periods
___________________
david     |     yes
seema     |     no
raj       |     yes
seema     |     no
david     |     yes

现在我想要这样的结果:

staffname | periods
___________________
david     |     2
seema     |     2
raj       |     1

如果你能理解我想要的名字和数量,对第二栏的价值无关紧要。

我试过了,但我得到了重复的行。

请帮忙。

5 个答案:

答案 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

demo here

答案 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