0

テーブルから最も人気のある20の場所を取得し、アルファベット順に並べ替えるクエリがあります。これを行うためのよりクリーンなまたはより効率的な方法があるかどうか疑問に思っていますか?

SELECT
  city
FROM (
  SELECT 
    city, 
    count(*) AS cnt
  FROM locations 
  GROUP BY city
  ORDER BY cnt DESC
  LIMIT 20
) s ORDER BY city;
4

1 に答える 1

3

少しきれい:

SELECT city FROM (
  SELECT city FROM locations 
  GROUP BY city
  ORDER BY count(*) DESC
  LIMIT 20
) s ORDER BY city

使用しない場合は、を取得する必要はありませんcount(*)

于 2012-04-12T02:08:31.013 に答える