我試圖查詢我的SQL數據庫以獲取每個客戶端在特定日期範圍內發出的訂單數量。SQL計數日期範圍
我的訂單列表如下
CustomerName ClientID DateOrdered
Customer No.2 10 2011-11-25
Customer No.3 11 2011-10-15
Customer No.3 11 2011-11-25
,我希望能找出多少訂單都已經由一個特定的客戶端,例如2011-11-1和2011-11之間-30,這將導致:
CustomerName ClientID Number
Customer No.3 11 1
Customer No.2 10 1
到目前爲止,我已經成功地得到這個
SELECT CustomerName, ClientID, COUNT(*) AS Number
FROM Orders t
GROUP BY CustomerName, ClientID
HAVING COUNT(*) =
(SELECT MAX(Number)
FROM
(SELECT CustomerName, ClientID, COUNT(*) AS Number
FROM Orders
GROUP BY CustomerName, ClientID) x
WHERE CustomerName = t.CustomerName)
其中G艾夫斯我每一個訂單的客戶已做過
CustomerName ClientID Number
Customer No.3 11 2
Customer No.2 10 1
我要對正確的方式來解決這個問題還是有,我已經完全忽略了一個更簡單的辦法!
用戶頭像:Customer ID和CustomerName爲什麼在訂單表中?要有任何其他客戶信息,您將不得不加入客戶賬單。如果您錯誤輸入了客戶名稱並更正了它,則需要修改訂單表以在此處進行更改。所以只有外鍵客戶Id纔會更準確...... – luso
它實際上不應該在那裏!感謝提醒我把它拿出:) – kiwijus