我想通過刪除表中的重複項來清理我的表,但保留重複記錄的最新版本。如何刪除表中的重複記錄,但保留最新?
我的表格與下面的表格類似。我想刪除flightNo「AF 8253」副本,但在14:20時將航班號「AF 8253」的到達時間保留。
id depOrArriv flightNo airline dest origin depature arrivalTime status
183 Arrival AF 8253 AirUganda NULL Nairobi NULL 14:05 Scheduled
184 Arrival AF 8253 AirUganda NULL Nairobi NULL 14:20 Scheduled
185 Arrival SCAN09 SCAN Air NULL Kampala NULL 10:30 Scheduled
我試過下面的代碼,但它似乎並沒有工作。
$sql = "CREATE TEMPORARY TABLE schedule_temp AS
SELECT DISTINCT * FROM sortedArrivals
DELETE FROM sortedArrivals
INSERT INTO sortedArrivals(
timePeriod, depOrArriv, flightNo, airline, dest,
origin, depature, don, arrivalTime, status)
SELECT timePeriod, depOrArriv, flightNo, airline,
dest, origin, depature, don, arrivalTime, status
FROM schedule_temp";
if (!$mysqli->query($sql))
{
die('Error: ' . $mysqli->error);
}
任何人都可以幫助指向正確的方向嗎? 期待您的迴音。
不在約SQL什麼?並且您沒有在示例中列出您的重複航班。 – OIS
「似乎不起作用」?它似乎*從頭到尾都是亂碼! – Strawberry