1
我想了幾個小時找出正確的SQL查詢從表(MySQL中)選擇最新的歷史記錄。無法找出正確的SQL查詢歷史表記錄
在我的應用程序中,我想保留每個數據修改的歷史記錄。所以我的想法是,而不是對現有記錄進行更新,而是對新記錄進行INSERT。此外,還有一個修訂版計數器,隨着每個記錄修改而增加。
這是我的表:
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 4 4 1 0 0 SUSANN ABC123 0 5 4 1 0 1 SUSANN 123ABC 0 6 4 1 0 2 SUSANN 123ABC 1 7 4 1 1 3 SUSANN 123ABC 1
注UID爲4至7實際上是相同的記錄即「蘇珊」,行。第4行是第一行。第5行修改了密碼,第6行修改了管理標誌,第7行修改了刪除標誌。
uid是一個自動遞增器,併爲內部目的標識表中的行。 rid是實際的記錄ID。
現在。選擇單條記錄的最新版本可以做到這樣:
SELECT * FROM表 WHERE RID = 4 ORDER BY修訂DESC LIMIT 1
我的問題是選擇的所有最新名單所有登錄修訂:根據樣本數據結果集應該是:
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 7 4 1 1 3 SUSANN 123ABC 1
有人能指出我在正確的方向。我認爲正確的關鍵字已經足夠了。從那裏我可以想出一個辦法。
謝謝。
就是這樣......除了一個小錯字,它正是我想要的。謝謝拉瑪克。 – 2011-02-04 22:06:07