[英]Get the date for each duplicated row in SQL Server
我進行了一次查詢,以獲取多次銷售的產品數量,並且有效。
現在我想顯示每個重復銷售的交易日期,但是當我在 select 上插入日期時,它給我帶來的行數要少得多:出了點問題。 沒有日期的查詢返回 9855 行,而日期只有 36 行。
這是我正在做的查詢:
SELECT TransactionDate,
ProductName,
QtyOfSales = COUNT(*)
FROM product_sales
WHERE ProductID = 1 -- Product Sold ID
AND ProductName IS NOT NULL
GROUP BY ProductName,
TransactionDate
HAVING COUNT(*) > 1
也許是子查詢? 你能在這方面提供幫助嗎?
您可以使用對應的COUNT
window function,根據需要在“ ProductName ”上分區找到交易數量:
WITH cte AS(
SELECT TransactionDate,
ProductName,
COUNT(*) OVER(PARTITION BY ProductName) AS QtyOfSales
FROM product_sales
WHERE ProductID = 1 -- Product Sold ID
AND ProductName IS NOT NULL
)
SELECT DISTINCT TransactionDate,
ProductName
FROM cte
WHERE QtyOfSales > 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.