在我的网络应用程序中,我想显示我的用户列表。用户可以具有不同的状态(类似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
,还是需要多个查询?而且,如果我确实需要多个查询,我将如何实现这一点?随着应用程序的增长,用户数量将不断增加。
有人可以帮帮我吗?
感谢。
答案 0 :(得分:1)
我会使用这样的多个查询:
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
您预计会有多少用户?如果您尝试在页面上显示所有用户,我会对它们进行分页。希望这会有所帮助。