我要两个从两个地方得到数据
下面列出的用户和数据
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