2016-08-01 52 views

回答

2

您可以使用RowNumber()函數,但是我使用它的方式會爲每個CategoryID選擇一個隨機的第一個Product。

如果你想擁有在什麼產品名稱應挑選使用,而不是一個適當的ORDER BY ColumnName更多的控制ORDER BY (SELECT NULL)

SELECT ProductId  
     ,ProductName 
     ,CategoryId 
FROM (
     SELECT * 
     ,ROW_NUMBER() OVER (PARTITION BY CategoryID ORDER BY (SELECT NULL)) rn 
     FROM TableName 
    ) A 
WHERE rn = 1 
+0

看來你快:) –

+0

它作品,謝謝@ M.Ali – FaHaD

1

使用窗口功能:

WITH AdditionalNumbering AS 
(
    SELECT ProductId, ProductName, CategoryID, 
    ROW_NUMBER() OVER (PARTITION BY CategoryID ORDER BY ProductID) RowNumber 
) 
SELECT ProductId, ProductName, CategoryID 
FROM AdditionalNumbering 
WHERE RowNumber=1 
相關問題