如何選擇另一列中具有唯一值的最近 3 筆記錄?

Barbara Streisand
發布: 2024-11-27 03:47:09
原創
142 人瀏覽過

How to Select the 3 Most Recent Records with Unique Values in Another Column?

選擇不同值的最新記錄:修訂方法

提出的問題涉及從基於表的表中檢索三個最新記錄在在時間列上,附加條件是這些記錄必須在另一列(稱為otheridentifier)中具有不同的值。為此,需要多方面的 SQL 查詢。

原始查詢的缺點

由於 SQL 中固有的操作順序,最初嘗試的查詢遇到了限制。分組發生在排序之前,這導致返回不正確的資料。

修訂後的查詢

為了解決這個問題,一個更複雜的查詢是必要:

SELECT *
FROM `table`
WHERE `id` = (
    SELECT `id`
    FROM `table` as `alt`
    WHERE `alt`.`otheridentifier` = `table`.`otheridentifier`
    ORDER BY `time` DESC
    LIMIT 1
)
ORDER BY `time` DESC
LIMIT 3
登入後複製

解釋:

  • 解釋:
  • 子查詢檢索每個不同的otheridentifier值的最新記錄的 id。該子查詢確保唯一性。
主查詢然後根據時間列從表中選擇前三筆記錄,確保它們具有唯一的 otheridentifier 值。 最後,這些記錄按以下順序排序它們的時間值按降序排列,並且僅限於最近的三個。

以上是如何選擇另一列中具有唯一值的最近 3 筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板