我有一張桌子(檢查),每次檢查員訪問該站時都會被填滿。我如何創建一個sql,它將每個唯一記錄的最後插入的記錄?
當管理員試圖查看檢查表,我想,以顯示所有滿足這些條件的記錄:
每個記錄必須保持唯一的站名
顯示的記錄必須是針對特定電臺
截至目前的最後更新的記錄,我已經使用了SQL是
$sql = "select `StationID`,`DOI`,`due`,`StationName` from inspect group by `StationID`";
這顯示完美,除了它顯示每個唯一站的第一個記錄。
E.g.如果表中有
StationID StationName DOI due
924 RMC 17-Mar-2014
924 RMC 20-Mar-2016
926 IMD 23-Jan-2018
926 IMD 18-Jan-2018
926 IMD 18-Jan-2018
926 IMD 18-Jan-2018 19-Jan-2019
我的SQL必須顯示
924 RMC 20-Mar-2016
926 IMD 18-Jan-2018 19-Jan-2019
我沒有主鍵... –
如果StationID是自動增量列,那麼這個查詢不起作用? $ sql =「從」StationName「中選擇'StationID','DOI','due','StationName'從檢查組中選擇ORDER BY'StationID' DESC」; –
我認爲在這個問題的某個地方有個錯誤。如果您通過StationID進行分組,並且它只返回這兩條記錄,則您的示例表中不能包含所有唯一值。例如,924會發生什麼? StationID和StationName聲音鏈接,你說沒有主鍵,所以我懷疑RMC的ID應該是925,IMD的ID是929?如果不清除這個問題,這是不可能的。 –