簡體   English   中英

MySQL Group by UserID 只顯示最后一篇文章?

[英]MySQL Group by UserID only show last post?

我正在嘗試顯示一個列表,其中包含每個用戶的最新帖子。 但是,如果我按 ID 分組,則會收到第一篇文章而不是最后一篇文章。 如何按 UID 分組並僅顯示Date最大的行?

這就是我現在正在嘗試的:

SELECT * FROM Posts GROUP BY `UID` ORDER BY `Date` DESC

因為你想要每個用戶的最大Date ,你可以使用 MySQL 的MAX()

SELECT MAX(`Date`), * FROM Posts GROUP BY `UID`

您也可以在HAVING子句中指定它:

SELECT * 
FROM Posts
GROUP BY `UID`
HAVING `Date` = MAX(`Date`)
ORDER BY `Date` DESC

您可以使用連接來執行此操作,以獲取最大日期,然后僅選擇這些記錄:

select p.*
from posts p join
     (select uid, max(date) as maxdate
      from posts p
      group by uid
     ) pmax
     on p.uid = pmax.uid and
        p.date = pmax.maxdate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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