Answers:
SELECT name,COUNT(*) as count
FROM tablename
GROUP BY name
ORDER BY count DESC;
HAVING
适用于应在聚合之后应用的条件,而适用于应在聚合WHERE
之前应用的条件。(另一种思考方式是WHERE
适用于原始行数据;HAVING
适用于输出行数据。)
那么这样的事情呢:
SELECT
name,
count(*) AS num
FROM
your_table
GROUP BY
name
ORDER BY
count(*)
DESC
您正在选择名称及其出现的次数,但是按名称分组,因此每个名称仅被选择一次。
最后,您按DESCending顺序排序,以使出现频率最高的用户排在首位。
SELECT COUNT(DISTINCT name) as count FROM your_table
对于总表行数,做帕斯卡的查询,而不该group by
声明。