2017-05-29 116 views
-1

我有3列来获取数据。按3列分组

1-量,2- TRANSACTION_ID和ORDER_ID

制造组由(TRANSACTION_ID),和(数量),并得到所有ORDER_ID。

id order_id transaction_id amount 
1 1   3333    698.00 
1 2   3333    758.00 
1 3   3333    560.00 
1 4   3333    360.00 
1 5   5555    225.00 
1 6   5555    102.00 
1 7   2222    36.00 

见图片 TABLE

SELECT sum(amount) as sum, transaction_id, order_id FROM table WHERE ID='1' GROUP BY transaction_id

回来:
的总和确定。
交易ID是确定的。
订单标识仅返回每个交易ID的第一个。

我看到什么订单ID喜欢这个交易编号3333 - 顺序编号1,2,3,4

尝试explode()但没有工作所需

帮助。

回答

1

假设DB是MySQL的(请在标签的问题你的数据库),使用group_concat此类似:

SELECT sum(amouNt) as sum, transaction_id, group_concat(order_id) orders FROM table WHERE ID='1' GROUP BY transaction_id

这将逗号分隔值返回orders柱像1,2,3, 4

+0

谢谢,GAGANSHERA !!!!第一次使用堆栈和响应很快再次感谢! – jmart

+1

@jmart很乐意帮助你。如果答案适合您,请将其标记为正确:) – gaganshera

+0

我第一次说,我在哪里标记为正确? – jmart