首頁  >  文章  >  資料庫  >  sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄

sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄

php是最好的语言
php是最好的语言原創
2018-08-03 10:06:412321瀏覽

一、問題場景

  1. 一個表中有關鍵字段tid,action,dateline等,tid代表帖子的id,action代表這個帖子被操作的狀態,dateline代表該資料被插入的時間戳;

  2. 此表中,每個tid都會有多條不同dateline插入的明細,最後時間插入的明細中的action字段表示當前tid的帖子狀態;

  3. 現在想要查詢每個tid目前的狀態,也就是查詢最新發表的那筆記錄

  4. 表格中資料樣本:

    sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄

二、sql語句:

select a.* from pre_forum_threadmod as a,(select tid,max(dateline) as dateline from pre_forum_threadmod group by tid) as b
where a.tid=b.tid and a.dateline=b.dateline

sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄

三、sql語句解析:

  1. 上述sql語句中,先查出每個tid的最大的dateline,查詢產生一個臨時表b;

    (select tid,max(dateline) as dateline from pre_forum_threadmod group by tid) as b
  2. 然後原表a與臨時表b關聯查詢即可:

    where a.tid=b.tid and a.dateline=b.dateline
  3. 查詢後如下圖,每個tid的最新的紀錄就能查出來:
    sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄

#相關文章:

查詢分組後每個分組的前幾筆記錄

MySQL查詢同表中不同分類的前幾筆記錄

相關影片:

SQL入門教學手冊

以上是sql_查詢每個tid目前的狀態:也就是類別最新發表的那筆記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn