我要两个从两个地方得到数据
下面列出的用户和数据

User table -->

id name   time
 1 first  2016-04-20 15:13:13
 2 second 2016-04-20 15:13:13
 3 third  2016-04-20 15:13:13
 4 forth  2016-04-20 15:13:13
 5 fifth  2016-04-20 15:13:13

Data table -->

id data user_id time
 1 2000       1 2016-04-20 15:10:18
 2 3000       2 2016-04-20 15:10:18
 3 4000       3 2016-04-20 15:10:18
 4 2000       4 2016-04-20 15:10:18
 5 3000       5 2016-04-20 15:10:18

很容易加入他们
select d.data
     , u.name
  from data d
  left
  join users u
    on d.user_id = u.id
 order
    by d.data DESC

它给出-->
data name
4000 third
3000 fifth
3000 second
2000 forth
2000 first

但我只想使用sql查询(可以使用多维度数组)
我只想查询一下
data name name
2000 first forth
3000 second fifth
4000 third

请引导我

最佳答案

可以使用GROUP BY按所需字段对结果进行分组,然后使用GROUP_CONCAT函数(聚合函数)将每个组中的字符串连接为单个字符串。

 select data.data,GROUP_CONCAT(users.name) from data left join users on
 data.user_id=users.id GROUP BY data.data order by data.data DESC

10-05 22:25
查看更多