的MySQL 5.0.45請在複雜的SQL查詢幫助
表A具有以下字段(列): 1. transcation_id
2. CLIENT_NAME
3. ITEM_ID
4 ....
現在我需要找出每個客戶端通過交易次數進行了多少次交易。結果應該是這樣的:
湯姆7事務
傑克5交易
麥克2交易
如果客戶沒有交易他的名字不應該是詮釋他的名單。
預先感謝您!
的MySQL 5.0.45請在複雜的SQL查詢幫助
表A具有以下字段(列): 1. transcation_id
2. CLIENT_NAME
3. ITEM_ID
4 ....
現在我需要找出每個客戶端通過交易次數進行了多少次交易。結果應該是這樣的:
湯姆7事務
傑克5交易
麥克2交易
如果客戶沒有交易他的名字不應該是詮釋他的名單。
預先感謝您!
如何:
select client_name, count(*) as transactions
from TableA
group by client_name
order by count(*) DESC
假設沒有交易的客戶沒有在表中(因爲表中有一欄TRANSACTION_ID),他們將不會在結果中。
作品。謝謝! – lonelyloner 2010-02-01 20:59:30
這是正確的,雖然我會做count(1)而不是count(*)稍微好一點的性能,至少在Oracle上是有區別的。 – Jay 2010-02-01 21:03:25
Select
Client_Name,
count(*) as Transactions
from TableA
group by Client_Name
order by count(*) desc
這應該也有'HAVING COUNT(*)!= 0'。 – 2010-02-01 20:54:51
@Shtééf:謝謝,實際上它會計算任何現有的記錄,假設如果沒有交易就不會有記錄。 – 2010-02-01 20:56:53
這也是可行的。非常感謝! – lonelyloner 2010-02-01 20:59:56
這樣的事情?
Select client_name, count(*) As MyCount
From YourTableA
Group By client_name
Having MyCount > 0
Order by MyCount Desc
編輯:grr,又太慢了!至少我得到了別名...
數字,即湯姆7交易中的7,表A中的條目數,或者它是表中的字段? – 2010-02-01 20:53:23
你有幾張桌子?你可以把它倒掉嗎? – streetparade 2010-02-01 20:54:13