我想通过删除表中的重复项来清理我的表,但保留重复记录的最新版本。如何删除表中的重复记录,但保留最新?
我的表格与下面的表格类似。我想删除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