2014-07-25 60 views

回答

2

您正在尋找的聚集功能,特別是group_concat()。關鍵是你想做兩個聚合:

select subgroupcombo, count(*) as NumCustomers, sum(spend) as TotalSpend, 
     sum(Transactions) as TotalTransactions 
from (select customer, group_concat(subgroup order by subgroup) as subgroupcombo, 
      sum(spend) as spend, sum(transactions) as transactions 
     from input i 
     group by customer 
    ) c 
group by subgroupcombo; 
+0

哇這真棒。演得好:) group_concat節省了一天的時間。 – Lucas

+0

戈登有一個小問題。我之前沒有提及...如果客戶A再次從第1小組購買,他的組合將是1,1,2,3,4,5。我如何使組合獨一無二?並且它將這兩個子組1中的交易總結在一起:/ – Lucas

+0

@Lucas。 。 。這實際上是如何工作的。如果你想忽略這樣的重複,你可以在''group_concat()'中添加'distinct'關鍵字。 –