2017-04-04 47 views
-1

我不知道如何执行此操作。任何人都可以帮助解决这个问题 这是我的表看起来像:如何在一行中显示具有相同ID的特定列

cusId orderId itemId 
00006 00003 002 
00006 00003 006 
00007 00001 001 
00007 00001 003 
00007 00004 003 
00008 00002 001 
00008 00002 009 

我想如下进行显示:

(002 006) 
(001 003) (003) 
(001 009) 

其是每条线代表不同的cusId,然后组的itemId成一个托架时将订单是一样。

我应该用SQL还是Java编码吗?我应该怎么做?

回答

1

好吧,我不知道你正在使用的DATABSE但在MySQL中,你可以这样做: -

选择

GROUP_CONCAT( “(” 项目 “)”)作为乌鸦

FROM

(SELECT GROUP_CONCAT(的itemId)作为项cusId从TestTable的 GROUP BY订单ID ORDER BY cusId)AS cusTable

GROUP BY cusTable.cusId;

where testTable is your table as described in your question。请注意,在这里使用子查询和group_concat()来完成这里的大部分工作。无需在JAVA中做任何事情。

+0

非常感谢!我只知道在MySQL查询中得到了这个group_concat。今天学一件事! –

相关问题