[英]Limit on Group by in Mysql
在我的Web应用程序中,我想显示我的用户列表。 用户可以具有不同的状态(类似于FB)。 我想在每个用户名下方显示最后3个状态。
Dinosaur
I'm a dino!
I eat meat!
I like cows!
Fish
Blub!
I don't like dinosaurs!
Going for a swim!
我有以下SQL查询:
SELECT s.status, u.voornaam, u.achternaam FROM status AS s INNER JOIN sportjefit_user AS u ON s.user = u.id where u.begeleider='53' group by id desc limit 3
但是,这仅返回结果的前3位,在这种情况下,它将仅显示恐龙的状态。 我想显示每个用户的前3个状态。 我可以通过group by
并对此加以limit
吗?还是在这里需要多个查询? 而且,如果我确实需要多个查询,我将如何实现它? 用户数量将随着我的应用程序的增长而不断增加。
有人可以帮我吗?
谢谢。
我会使用多个这样的查询:
select all users
for each user
select last 3 statuses
运用
SELECT * FROM sportjefit_user
和
SELECT status FROM status WHERE userid = ? ORDER BY id DESC LIMIT 3
您预计有多少用户? 如果您要在页面上显示所有用户,请对它们进行分页。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.