2016-08-04 10 views
0

Ich habe eine Tabelle, die wie folgt aussieht:„SELECT“ Mit gruppierte Ergebnis anzuzeigen

Name | Type 
Maurice | Gold 
Lisa | Gold 
Andrew | Silver 
Matthew | Platinum 
Sarah | Gold 
Peter | Platinum 
Franco | Platinum 
Patrick | Silver 

ich mit ‚select‘ habe versucht, sie nach Typen gruppiert angezeigt werden, aber ich habe keine gefunden richtiger Weg. Das Ergebnis, das ich suche, sind wie folgt:

Silver | Gold | Platinum 
Andrew | Maurice | Matthew 
Patrick | Lisa | Peter 
NULL  | Sarah | Franco 

Gibt es trotzdem, um das Ergebnis so aussehen zu lassen? Vielen Dank!

+0

Wählen Sie * aus 'table_name' Gruppe nach Typ; – Rupsingh

+0

, um den Gruppennamen zu holen, den Sie so versuchen können [wählen Sie group_field aus table_name group by group_field]. Hinweis "Typ" ist ein Schlüsselwort, ändern Sie Ihren Feldnamen von "Typ" zu einem anderen Namen. – IRSHAD

+0

Sie suchen nach einer Operation namens * Pivoting * der Tabelle. Es ist eine notorische Nervensäge in MySQL. –

Antwort

0
select (case when type='Silver' then name end) as silver, 
     (case when type='Gold' then name end) as gold, 
     (case when type='Platinum' then name end) as platinum 
from table_name 
+0

Dank, das sieht gut aus, aber es gibt so viele Null erscheinen gibt es eine Möglichkeit, die Null zu entfernen? – Koltira

+0

Willkommen bei Stack Overflow! Während dieses Code-Snippet die Frage lösen kann, hilft [einschließlich einer Erklärung] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, die Qualität Ihres Posts zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. Bitte versuchen Sie auch nicht, Ihren Code mit erläuternden Kommentaren zu überladen, da dies die Lesbarkeit sowohl des Codes als auch der Erklärungen verringert! – FrankerZ

Verwandte Themen