Ich habe eine Tabelle mit userID, sectionId, usersectionID, valid
Spalten. Diese gültige Spalte wird verwendet, um die doppelten Einträge zu identifizieren. Einige der doppelten Einträge sind jedoch in der gültigen Spalte enthalten.Suchen doppelte Einträge und Aktualisieren einer Spalte - Mysql
select userID, sectionId, count(*) as cnt from table where valid = 1 group by 1,2 having cnt >1 ;
Dies würde mir die Liste der Benutzer-ID und sectionID Kombinationen doppelte Einträge zeigen. Wenn eine Kombination aus Benutzer-ID und Abschnitts-ID mehr als einen Eintrag enthält, bedeutet dies, dass ein doppelter Eintrag vorhanden ist. Jetzt
Zum Beispiel dies die Ausgabe sein kann,
userId SectionID Cnt
1 4 3
wenn wir dies weiter zu sehen,
Select userId, sectionId, usersectionID, valid from table where userID = 1 and sectionID = 4;
userID sectionID usersectionID valid
1 4 3 1
1 4 5 1
1 4 10 1
Ich mag die gültige Spalte mit 0 für alle Einträge mit Ausnahme mindestens usersectionID aktualisieren . Die Ausgabe nach dieser Abfrage sollte
userID sectionID usersectionID valid
1 4 3 1
1 4 5 0
1 4 10 0
Ich möchte dies für die vollständige Tabelle in einer einzigen Abfrage tun. Ich habe das schon lange mit viel Erfolg versucht. Kann mir jemand bei der Lösung helfen? oder vielleicht sogar eine Idee geben, dies zu tun?
Dank
Wow .. Das ist sehr gut Abfrage .. Vielen Dank! – Observer