2

重複の可能性:
グループごとに固定数の行を選択するにはどうすればよいですか?

たとえば...このテーブル(色で並べ替え)がある場合:

--------------
| id | color |
--------------
| 95 | red   |
| 7  | red   |
| 44 | red   |
| 46 | red   |
| 49 | red   |
| 24 | green |
| 37 | green |
| 91 | green |
| 88 | green |
| 44 | blue  |
| 10 | blue  |
| 11 | blue  |
--------------

各色から2行を取得する方法はありますか?例:

--------------
| id | color |
--------------
| 7  | red   |
| 44 | red   |
| 24 | green |
| 37 | green |
| 10 | blue  |
| 11 | blue  |
--------------
4

1 に答える 1

8

あなたはこのようなものを持つことができます、

SELECT id, color
FROM   TableName a
WHERE 
(
   SELECT COUNT(*) 
   FROM   TableName AS f
   WHERE  f.color = a.color AND f.id <= a.id
) <= 2;
于 2013-01-04T01:35:57.950 に答える