Группировка с выбором n наибольших в каждой группе

Версия 1.8 от Alexandr Fokin на 2023/02/02 13:16

DECLARE @n int = 3

SELECT *
FROM ShopOrder so1
WHERE
  so1.OrderId in
  (
   SELECT top(@n) OrderId
   FROM ShopOrder so2
   WHERE so2.ClientId = so1.ClientId
   ORDER BY so2.OrderBy
  )

Коррелирующие подзапросы
http://www.sql-tutorial.ru/ru/book_correlated_subqueries.html