我想实现这样的语句,高人解

来源:百度知道 编辑:UC知道 时间:2024/07/11 03:39:57
SELECT s.username,s.uid,b.subject,b.dateline FROM uchome_space s INNER JOIN uchome_blog b ON s.uid=b.uid ORDER BY s.credit,b.dateline DESC LIMIT 0,10;

这是一个多表查询的语句,这个并没有问题。我现在想使用uid分组,并取出每组中的最新一条语句,请问是不是要用group by和top1.我不太懂,望高人帮忙给谢一条

我要实现的就是每一个uid只取一条数据。因为直接查询一个uid会对应多个数据,谢谢

我太穷,基本没分了,哈哈

“最新一条”是什么意思?表里有时间标记吗?就是那个dateline?
如果是,可以考虑用MAX(dateline)。
SELECT s.username,a.uid,b.subject,a.dateline FROM uchome_space s INNER JOIN (SELECT s.uid,MAX(b.dateline) AS dateline FROM uchome_space s INNER JOIN uchome_blog b ON s.uid=b.uid GROUP BY s.uid) a ON s.uid=a.uid INNER JOIN uchome_blog b ON s.uid=b.uid