2013-04-12 31 views
0

我有一個佣金表MySQL查詢:如何計算分組列,但在當前組中返回編號(以逗號分隔)

ID Agent Comm. 
1 Agent1 $30 
2 Agent1 $40 
3 Agent2 $40 
4 Agent1 $30 
5 Agent2 $40 

,所以我需要數從同一代理和相同數量的分組付款,但檢索這些ID參與(逗號分隔)

例如

Agent Comm. Count Ids 
Agent1 $30 2  1,4 
Agent1 $40 1  2 
Agent2 $40 2  3,5 

我能做到這一點的只有一個查詢?

現在我的查詢,而無需在IDS列

select count(id) as Count, agent,comm from commissions 
group by agent,comm order by agent asc ,comm asc 

回答

1

當然可以。

MySQL有一個名爲GROUP_CONCAT()的內置函數,它連接行而不是列。

SELECT Agent, Comm, 
     COUNT(*) TotalCount, 
     GROUP_CONCAT(ID) IDs 
FROM Commissions 
GROUP BY Agent, Comm 
+0

哇,謝謝,我不知道這個funcion :)謝謝 – PartySoft

+0

歡迎您':D' –