mysql查询归组的问题

菜鸟中的小公鸡 发布于 2013/03/06 15:23
阅读 236
收藏 0

我用下面这个查询语句查询出三个表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

加载中
0
八宝旗
八宝旗
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去掉,看下查询结果

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