2011-03-30 58 views
-1

你好,我有這個表我的SQL服務器如何讓誰做的大多數購買(MYSQL)客戶的查詢

tblPurchase = {purchaseId,idCust,總} tblCustomer = {idCust,名}

如何查詢我是否想查找購買量最大的客戶名稱(tblCustomer的名稱)?謝謝

+0

你的意思是購買最多(物品/錢)的顧客?還是最經常購買的客戶?你到目前爲止嘗試了什麼(請你可以展示一些代碼)? – 2011-03-30 16:52:35

+0

你能否重寫一下你的措辭? 「大多數客戶」沒有意義。你的意思是每個顧客,或者是購買量最多的顧客,或者是購買量最大的顧客中最大的「購買」? – MPelletier 2011-03-30 16:52:36

+0

您是否要求購買最多的顧客?如果是這樣,「最」意味着採購數量或購買總金額? – 2011-03-30 16:52:53

回答

1

如果您正在尋找誰做的大多數購買(不購買的最大的一筆費用)的客戶,你可以嘗試: 編輯,包括JOIN

SELECT TOP 1 idCust, name, COUNT(*) AS numPurchases 
FROM tblPurchase JOIN tblCustomer ON tblPurchase.idCust = tblCustomer.idCust 
GROUP BY idCust, name 
ORDER BY numPurchases DESC 

如果你想購買的最大的一筆:

SELECT TOP 1 idCust, SUM(total) AS purchaseSum 
FROM tblPurchase 
GROUP BY idCust 
ORDER BY purchaseSum DESC 
+0

但我想從tblCustomer顯示客戶的名稱,而不是idCust,我該怎麼做? – WenZ 2011-03-30 16:59:29

+0

請參閱上面的編輯,添加'JOIN'。對不起,我沒有在你的問題中看到tblCustomer。 – 2011-03-30 17:03:47

+0

非常感謝!它完美的作品! – WenZ 2011-03-30 17:08:50

0

也許你會喜歡的東西開始:

select from tblPurchase order by idCust 

,然後後添加的改進。

  • 皮特
相關問題