簡體   English   中英

在MySQL中限制分組依據

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM