分組依據(名稱)和排序依據(日期)我得到了一種包含內部選擇查詢的大型查詢。我的目標是通過現場調用產品編號(這不是唯一的並且多次出現),然後按日期對所有記錄進行分組。兩個選擇查詢
我在查詢的末尾添加了Order By日期,似乎工作正常。查詢按日期順序生成所有記錄,但記錄未按ProductNumber分組。
這裏是
ProductId Manufacturer ProductNumber Date
1 Kellog H1 05/05/2017
5 Nestle H1 05/01/2017
8 Nutmeg H1 04/30/2017
9 Highland H3 04/09/2017
10 Houston H1 04/15/2017
11 Miami H3 04/12/2017
我試圖讓輸出看起來像下面
ProductId Manufacturer ProductNumber Date
1 Kellog H1 05/05/2017
5 Nestle H1 05/01/2017
8 Nutmeg H1 04/30/2017
10 Houston H1 04/15/2017
9 Highland H3 04/09/2017
11 Miami H3 04/12/2017
因此,數據的可視化樣品,我將如何被列字段組(ProductNumber )與分組,然後按日期排序? 在查詢中,我添加了按日期排序。當我通過ProductNumber添加組時,錯誤消息是要求我將內部選擇中的所有字段添加到組中。我是否真的需要選擇所有的字段(真正的查詢中有很多字段)?必須有更好的解決方案。
這裏是我的查詢(只是一個示例)到目前爲止
SELECT DISTINCT TOP 100 *,
FROM (SELECT DISTINCT NP.ManufacuturerId,
C.ManufacuturerName,
IR2.ProductNumber,
NP.Field1,
NP.Field2,
NP.Field3,
NP.Field4,
CN.C2Date CN.CompanyNotificationId,
NPR.NotificationProcessName,
Cast(NP.CompanyId AS VARCHAR(15))
+ NPR.NotificationProcessName AS 'CompanyIdAndProcess',
CC.UserId,
NT.NotificationTypeName,
CC.EmailAddress,
IsRegistered = CASE
WHEN C.IsRegistered = 1 THEN 'Yes'
ELSE 'No'
END,
FROM ProductDetails NP
INNER JOIN Manufactuers C
ON C.ManufacuturerId = NP.ManufacturerId) Q
ORDER BY CN.C2DateDESC;
,會是什麼結果,如果'11邁阿密H3 4月12日/ 2017'日期是'05/05/2017'? –
是不是合乎邏輯,當你按產品編號分組和選擇查詢中的一些其他列應彙總? SQL中有不同的聚集函數,如min,max,Avg等,您可以根據您的要求在選擇查詢中使用它們,也可以按這些列進行分組。 –