我有一个查询,我想从一个表中获得20个最受欢迎的位置,然后按字母顺序排序。我想知道是否有更干净或更有效的方法来做这件事?
SELECT
city
FROM (
SELECT
city,
count(*) AS cnt
FROM locations
GROUP BY city
ORDER BY cnt DESC
LIMIT 20
) s ORDER BY city;发布于 2012-04-12 10:08:31
稍微干净一点:
SELECT city FROM (
SELECT city FROM locations
GROUP BY city
ORDER BY count(*) DESC
LIMIT 20
) s ORDER BY city如果您不打算使用count(*),则不需要检索它。
https://stackoverflow.com/questions/10116396
复制相似问题