[英]Sql get data from two tables with a twist
我想要两个从两个dable用户获取数据,并在下面列出数据
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查询一样(可以使用muti dim数组来完成)
我只想查询的任何方式
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
select d.data,GROUP_CONCAT(u.name) from data d left join users u on
d.user_id=u.id GROUP BY d.data order by d.data DESC
'Group_concat'从用户返回列名的所有相应值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.