[英]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.