-3

サンプルデータがあります:

products (id, name, category_id)
(1, 'Test 1', 1)
(2, 'Test 2', 1)
(3, 'Test 3', 1)
(4, 'Test 4', 2)
(5, 'Test 5', 2)
(6, 'Test 6', 2)
(7, 'Test 7', 3)

アイデアを出す方法、1つのcategory_idで2つの製品を入手する例:

(1, 'Test 1', 1)
(2, 'Test 2', 1)
(4, 'Test 4', 2)
(5, 'Test 5', 2)
(7, 'Test 7', 3)
4

1 に答える 1

2

これを試して、

SELECT id, name, category_id
FROM   products p
WHERE 
(
   SELECT count(*) 
   FROM   products f
   WHERE  f.category_id = p.category_id AND
          f.id <= p.id
) <= 2;

SQLFiddleデモ

于 2012-09-28T08:58:52.683 に答える