1
回答
mysql查询归组的问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

我用下面这个查询语句查询出三个表a表的uploadfiles,b表username,c表的content,并且c表的content a表的uploadfiles 不能为空,为了查询出的内容是唯一值,所以按b.username 归组,但是归组后 查询出的内容总是不变的,哪怕更新了最新的content 也不会变,我想查询出的content值是最新的,请教一下怎么改!

select a.userid, b.username,c.content,a.uploadfiles from b b left join c c on c.userid = b.userid left join a a on a.userid =b.userid where c.content!='' && a.uploadfiles!='' group by b.username ORDER BY a.timeline DESC

举报
共有1个答案 最后回答: 5年前
select b.userid, b.username,c.content,a.uploadfiles 
from b b 
left join c c on c.userid = b.userid AND c.content != ''
left join a a on a.userid =b.userid AND a.uploadfiles !='' 
group by b.username 

ORDER BY a.timeline DESC;


但有几个疑问,group by之后,每个b.username可能会有多行数据,

1、用c.content,a.uploadfiles是想获得什么数据

2、排序依赖的a.timeline是不准确的

你可以先把group by去掉,看下查询结果

--- 共有 2 条评论 ---
八宝旗回复 @菜鸟中的小公鸡 : 你指的是NULL值吗?可以用c.content is not null 5年前 回复
菜鸟中的小公鸡c.content != '' 这个不能实现,查出来后这个字段里面包含空值 5年前 回复
顶部