2

mysqlクエリで各グループから3つのレコードを選択したいのですが、テーブル構造は次のようになっています-

id | customer | catId
---------------------
 1 | Joe      | 2
 2 | Sally    | 2
 3 | Joe      | 2
 4 | Sally    | 2
 5 | Joe      | 2
 6 | Sally    | 3
 7 | Joe      | 3
 8 | Sally    | 3
 9 | Joe      | 3
10 | Sally    | 4
11 | Joe      | 4
12 | Sally    | 4

個別の catId 手段ごとに 3 つのレコードを選択したい

id | customer | catId
---------------------
 1 | Joe      | 2
 2 | Sally    | 2
 3 | Joe      | 2
 6 | Sally    | 3
 7 | Joe      | 3
 8 | Sally    | 3
10 | Sally    | 4
11 | Joe      | 4
12 | Sally    | 4

このクエリを試しましたが、個別の catId ごとに 1 つのレコードしか表示されません。l

SELECT * FROM tableGROUP BY CatIds

そして私は得ています

id | customer | catId
---------------------
 1 | Joe      | 2
 6 | Sally    | 3
10 | Sally    | 4
4

1 に答える 1

-2

代わりに 3 つのクエリを実行するだけでかまいません。

SELECT * FROM table WHERE catId=2 LIMIT 3
SELECT * FROM table WHERE catId=3 LIMIT 3
SELECT * FROM table WHERE catId=4 LIMIT 3
于 2012-05-07T11:08:57.227 に答える