Ich brauche Hilfe und ich möchte wissen, wenn wie kann ich die nächste Zeile oder Spalte Werte, die die vorherige entspricht löschen Zeilen- oder Spaltenwerte in einer MySQL-Tabellenbasis aus 2 Spalten.Wie lösche ich die NEXT Zeile Werte, die die vorherigen Zeile Werte auf einer 2 Spalte in MySQL
Also, wenn die nächste Zeile/Spalte Werte/Ergebnis enthält die gleichen Werte für die vorherigen Zeilen/Spalten Werte/Ergebnis wird es gelöscht, aber wenn die nächste Spalte nicht mit beiden der vorherigen Spalte Werte/Ergebnis übereinstimmt , diese Zeile sollte nicht gelöscht werden. Was wird die richtige Abfrage für diese Bedingung sein?
Ich versuche, zuerst eine Auswahl-Abfrage zu machen, um die Daten zu überprüfen, und dies ist meine Abfrage für die Auswahl. Ist meine Abfrage richtig für die Auswahl?
SELECT current_row.row, current_row.id, current_row.column1,
current_row.column2, previous_row.row, previous_row.id,
previous_row.column1, previous_row.column2
FROM
(SELECT @rownum:[email protected]+1 row, a.*
FROM MyTable a, (SELECT @rownum:=0) r
ORDER BY unix_time, id
) as current_row
LEFT JOIN
(SELECT @rownum2:[email protected]+1 row, a.*
FROM MyTable a, (SELECT @rownum2:=0) r
ORDER BY unix_time, id) as previous_row
ON (current_row.id = previous_row.id)
AND (current_row.column1 = previous_row.column1)
AND (current_row.column2 = previous_row.column2)
AND (current_row.row = previous_row.row - 1)
LIMIT 10;
Vielen Dank im Voraus für jede Hilfe!
Prost!
Gibt es ein Loch und 'id's in 'mytable' gelöscht? Würden Sie versuchen, diese Abfrage immer wieder zu verwenden? – MohaMad
@MohaMad - Ja, im Grunde muss diese Abfrage in einem Cron-Job oder grundsätzlich in einer Bash ausgeführt werden. Aber ich muss wirklich wissen, wie ich diese Löschung grundsätzlich machen kann. –
@MohaMad - Und übrigens, keine gelöschte ID ab dem Moment. –