确定有2张 table
user_id login_history
1 2011-01-01
1 2011-01-02
1 2011-03-05
1 2011-04-05
1 2011-06-07
2 2011-01-01
2 2011-01-02
3 2011-03-05
3 2011-04-05
3 2011-06-07
user_id user_details
1 Jack
2 Jeff
3 Irin
我可以使用什么样的查询来获得类似的结果
1. Jack 2011-01-01 2011-01-02 2011-03-05
2. Jeff 2011-01-01 2011-01-02
3. Irin 2011-03-05 2011-04-05 2011-06-07
基本上我想要表 1 中的最新 3 条记录并与表 2 联合
我使用的查询会得到下面的列表,这是垂直记录
Jack ,2011-01-01
Jack ,2011-01-02
Jack ,2011-03-05
Jeff ,2011-01-01
Jeff ,2011-01-02
Irin ,2011-03-05
Irin ,2011-04-05
Irin ,2011-06-07
请帮忙
最佳答案
select t2.user_details,
substring_index(group_concat(login_history order by login_history separator ' '),' ',3) as recents
from table_2 as t2
left join table_1 as t1
on t1.user_id = t2.user_id
group by t2.user_id
在您的示例中,您列出了前三个记录,而不是后三个。顺便说一下,如果需要,您只需将 desc 添加到 group_concat 中的 order
子句即可。
关于mysql - 多个子查询结果进入主查询,select in select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303666/