Выберите Min ID в разделе - MSSQL t-SQL
Я хотел бы выбрать минимальный идентификатор раздела. Вроде как, как работает density_rank. Мне бы хотелось, чтобы с каждым разделением ассоциировалось уникальное число, но я бы хотел, чтобы этот номер был минимальным первичным ключом в разделе. Вот пример того, что я после.
USE AdventureWorks2012;
GO
SELECT '276 or 289 depending on what partition' as 'Min_BusinessEntityID'
,s.BusinessEntityID
,p.LastName
,s.SalesYTD
,a.PostalCode
FROM Sales.SalesPerson AS s
INNER JOIN Person.Person AS p
ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.Address AS a
ON a.AddressID = p.BusinessEntityID
WHERE TerritoryID IS NOT NULL
AND SalesYTD <> 0
ORDER BY PostalCode, SalesYTD DESC
1 ответ
Решение
Команды MIN для SQL Server принимают предложение OVER():
SELECT MIN(s.BusinessEntityID) OVER (PARTITION BY TerritoryID) AS Min_BusinessEntityID
FROM ...