Я смог успешно использовать cte с ниже SQL, который содержит ранжирование, которое дает мне вывод.Может ли SQL Server ограничить результаты запросом на основе ранга без использования cte?
WITH cte AS (
SELECT foo, bar,
rank() OVER(PARTITION BY foo ORDER BY bar) AS [rank]
FROM baz)
select * from cte where [rank]=1
Вопрос в том, может ли это быть выполнено БЕЗ использования cte?
Я думаю, вы также имеете в виду без подзапроса, не так ли? – dario
Вы можете сделать это с подзапросом - но по существу, это то же самое, что и –
, вместо этого вы можете использовать производную таблицу, но это то же самое. Начиная с SQL Server 2012, вы можете использовать 'ORDER BY ... FETCH' – Lamak