问一个sql语句的问题
我的问题大致如下:
一张表tableA专门记录用户发布的内容,有多个用户,每个用户有多条内容;pid是tableA表中的一个外键,用来唯一标识一个用户;
给定一个pid的列表pids,如何编写sql语句,从tableA中查找出pids中每个用户的最新发布的一条内容来?
求大神指教!!谢谢!!!
jpshoo
10 years, 3 months ago
Answers
select * from tableA as t left join (
select tableB.* from tableB as t1 inner join (select pid,max(create_at) as max_create_at from tableB group by pid) as t2 on t1.pid = t2.pid and t1.create_at = t2.max_create_at ) as t3 on t.pid = t3.pid where t.pid in (1,2,3);
大体是这样,这是Mysql的
圈圈老师的房管
answered 10 years, 3 months ago