如何為指定列選擇具有不同值的3 個最新記錄
為給定表選擇最新記錄是資料庫中的常見操作。但是,當您想要確保特定列的值不同並消除重複項時,它可能會變得更加複雜。此任務需要更細緻的方法。
在給定場景中,使用者嘗試從表中選擇三個最新記錄,其中 otheridentifier 列中的值不同。最初嘗試使用 SELECT * FROM table GROUP BY (otheridentifier) ORDER BY time DESC LIMIT 3 未能產生所需的結果,因為分組優先於 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 欄位具有不同值的三個最新記錄,從而產生所需的結果。
以上是如何選擇特定列中具有唯一值的最近 3 筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!