是否可以使用一个关键字,按照结果在数据表中出现的次数对SELECT查询中的结果进行排序?
MySQL:
SELECT * FROM interests ORDER BY (keyword)表值如下:
hiking
running
swimming
hiking
photography
swimming
hiking如果它们的返回顺序是基于表中每个值出现的频率,那么它将是:
hiking
hiking
hiking
swimming
swimming
running
photography如果没有一个特定的关键字,我如何用SQL实现这一点?
谢谢
发布于 2013-02-09 02:16:44
SELECT COUNT(keyword) AS cnt, keyword
FROM interested
GROUP BY keyword
ORDER BY cnt将按升序给出每个关键字的计数。但是你不会有3个徒步旅行项目,2个游泳项目,等等。只有hiking,3、swimming,2等。
发布于 2013-02-09 02:18:24
SELECT a.*
FROM interests a
INNER JOIN
(
SELECT keyword, COUNT(*) totalCount
FROm interests
GROUP BY keyword
) b ON a.keyword = b.keyword
ORDER BY b.totalCount DESC发布于 2013-02-09 03:55:43
SELECT
t1.*,count(t1.keyword)
FROM
interests AS t1 INNER JOIN (
SELECT
keyword,count(*) totalcount
FROM
interests GROUP BY keyword
)t2
ON t1.keyword=t2.keyword group by t1.keyword
ORDER BY t2.totalcount DESChttps://stackoverflow.com/questions/14778815
复制相似问题