Выберите первые N строк из каждой группы - PullRequest
0 голосов
/ 02 июля 2018

Выберите первые N строк из каждой группы, должен возвращать первый ряд группы.

[пример строк ] [1]

Из приведенного выше изображения отобразите 1, 3 и 4 строки. Как это получить, можете ли вы помочь

1 Ответ

0 голосов
/ 03 июля 2018

Попробуй это. Замените MyTable именем вашей таблицы. Этот запрос вернет top 2. Поскольку вы не указали, в каком порядке вы хотите вернуть Top N записей, я использовал GROUP_Row_ID для заказа. Вы можете изменить его в соответствии с вашими потребностями.

DECLARE @n INT = 2;
SELECT *
FROM   (   SELECT * ,
                  ROW_NUMBER() OVER ( PARTITION BY AlternativeId
                                      ORDER BY GROUP_Row_ID ) AS rn
           FROM   MyTable ) t
WHERE  t.rn <= @n;
...