kedar001 Ответов: 1

Получение записей с максимальным значением для каждой группы сгруппированных результатов SQL


я хочу написать s sql запрос, чтобы получить такие записи, как

Page      Count
1           3
2           6


от
Page    Count
1	  3
2	  3
2	  6

т. е. максимальное количество для страницы нет

select PageNo,PCount from table where IKey= 12732 AND Pcount in (3,6) group by Pcount,PageNo


Что я уже пробовал:

select PageNo,MAX(PCount) from table where IKey= 12732 AND Pcount in (3,6) group by Pcount,PageNo

Maciej Los

А что не так с вашим кодом?

kedar001

приведенный выше запрос дает результат как разный счетчик для одной и той же страницы no i.e
Количество Страниц
1 3
2 3
2 6

1 Ответов

Рейтинг:
10

Maciej Los

Пожалуйста, сначала прочтите мой комментарий к этому вопросу.

Я думаю, что вам нужно что-то вроде этого:

SELECT PageNo, MAX(PCount) As PCount
FROM [table]
WHERE IKey= 12732 
GROUP BY PageNo

или
SELECT PageNo, MAX(PCount) OVER(PARTITION BY PageNo ORDER BY PCount DESC) As PCount
FROM [table]
WHERE IKey= 12732


Для получения более подробной информации, пожалуйста, смотрите:
MAX (Transact-SQL) - SQL Server | Microsoft Docs[^]
Предложение OVER (Transact-SQL) - SQL Server | Microsoft Docs[^]


kedar001

спасибо

Maciej Los

Всегда пожалуйста.

MadMyche

+5

Maciej Los

Спасибо.