1484.Group Sold Products By The Date

本題主要考驗 合併欄位

Group Sold Products By The Date

透過leetcode 1484Group Sold Products By The Date來練習

使用table

此表沒有主鍵,它可能包含重複項。
此表的每一行都包含產品名稱和在市場上銷售的日期。

題目說明:

編寫一個 SQL 查詢來查找每個日期銷售的不同產品的數量及其名稱。

每個日期的已售產品名稱應按字典順序排序。

返回以 sell_date 排序的結果表。

查詢結果格式如下例所示。

解題:

以下圖解為第一個例題 參考

  1. COUNT(DISTINCT PRODUCT) DISTINCT去除重複值(Mask)
    GROUP BY SELL_DATE以 SELL_DATE作為依據算出筆數
  2. 欄位合併部分使用FOR XML 語法搭配 PATH 模式把欄位合併的結果先 SELECT 出來。 目前狀態”,Basketball,Headphone,T-Shirt”
  3. 在使用STUFF將第一個 ‘ , ‘去掉即可
SELECT SELL_DATE, COUNT(DISTINCT PRODUCT) NUM_SOLD,
STUFF((SELECT DISTINCT ','+ PRODUCT
FROM ACTIVITIES
WHERE SELL_DATE = A.SELL_DATE
FOR XML PATH('')),1,1,'') PRODUCTS
FROM ACTIVITIES A
GROUP BY SELL_DATE

By. @UEW2WaUHTqSmPOSfnfXrNw