0

私はテーブルにこのデータを持っていますcategories

id | name | post_count
 1 | A    | 10
 2 | B    | 15
 3 | C    | 8
 4 | D    | 14
 5 | E    | 1
 6 | F    | 20

上位 4 つのカテゴリを で取得しpost_count、 で並べ替えますname

私が行った場合

SELECT * FROM categories ORDER BY post_count DESC LIMIT 4

カテゴリを順番に取得します: F, B, D, A、必要に応じてA, B, D, F

これは単一の SQL クエリで可能ですか? これどうやってするの?

4

3 に答える 3

3

サブクエリを使用できます:

SELECT * FROM (SELECT * FROM 
               categories ORDER BY 
               post_count DESC LIMIT 4) AS A
ORDER BY name 

このSQLFiddleを参照してください

于 2012-10-25T12:25:49.650 に答える
3
select * from (

SELECT * FROM categories ORDER BY post_count DESC LIMIT 4)a
order by name
于 2012-10-25T12:27:18.120 に答える
1
select *
from (
    select *
    from categories
    order by post_count desc
    limit 4
) s
order by name
于 2012-10-25T12:26:51.173 に答える