2012-04-12 17 views
0

Ich werde versuchen, dies so einfach wie möglich zu halten.Sortieren nach Anzahl der Duplikate aus mehreren Tabellen mysql

Es gibt 3 Tabellen (A, B, C) mit jeweils einer Namensspalte (und nur einer Namensspalte). Ich möchte alle Zeilen aus den drei separaten Tabellen (ohne Duplikate) auswählen, aber noch wichtiger, sie nach der Anzahl der Duplikate zu sortieren, so dass, wenn "Charles" in Tabelle A, B und C existiert, es dann angezeigt wird zuerst in den Ergebnissen. Namen, die nur in einer Tabelle vorhanden sind, werden am Ende der Ergebnisse angezeigt. Jede Hilfe wäre willkommen. Vielen Dank!

+0

Sehen Sie mein bearbeitetes Ergebnis: Verwenden Sie 'Union all' – kasavbere

Antwort

1
select name from 
(select name from A 
    UNION ALL 
select name from B 
UNION ALL 
select name from C) t 
group by name order by count(name) DESC 
+0

Ich mag dies. Nur ein Kommentar: Wenn der Name Null ist, wird es als 0 zählen und wird am Ende der Ergebnismenge sein. Um es an die Spitze zu bringen, sollte es sein: "count (*)' –

+0

Schön und elegant. Funktioniert super, danke! –