【发布时间】:2009-12-02 08:25:14
【问题描述】:
我在 mysql 表中有一个数据类型为 INT(11) 的列。
如何搜索以获得该列中出现次数最多的前 10 个值?
【问题讨论】:
标签: mysql
我在 mysql 表中有一个数据类型为 INT(11) 的列。
如何搜索以获得该列中出现次数最多的前 10 个值?
【问题讨论】:
标签: mysql
SELECT col, count(*)
FROM tablethingie
GROUP BY col
ORDER BY count(*) DESC
LIMIT 10
【讨论】:
试试下面的代码
SELECT colname, COUNT(*) AS cnt
FROM tablename
GROUP BY colname
ORDER BY cnt DESC
LIMIT 10
【讨论】:
TOP 是 MySQL 中不支持的关键字,但 MSSQL 中支持。
下面的查询应该做你想做的事(未经测试,但想法应该很清楚):
SELECT column, COUNT(*) AS matches
FROM table
GROUP BY column
ORDER BY matches DESC
LIMIT 10
【讨论】:
试试:
SELECT ColName, Count(1) AS occurances
FROM
table
GROUP BY
ColName
ORDER BY
occurances DESC
LIMIT
10
【讨论】: