2017-12-08 2 views
0

Ich bin neu in Redshift und auf der Suche nach einer Möglichkeit, die Reihenfolge, die ich will die Ergebnisse, die accepted answer here ist genau das, was ich will, aber die FIELD-Funktion ist nicht in Redshift. Gibt es eine Möglichkeit, das gleiche Ergebnis in Redshift zu erreichen?Amazon Redshift um spezifische Werte

aktuelle Abfrage sieht wie folgt aus:

SELECT DISTINCT audit_type, audit_category FROM "schema"."table" 

ORDER BY audit_type,  
CASE WHEN audit_category = 'string_1' THEN 1 
    WHEN audit_category = 'string_2' THEN 2 
    WHEN audit_category = 'string_3' THEN 3 
    WHEN audit_category = 'string_4' THEN 4 
    WHEN audit_category = 'string_5' THEN 5 
    WHEN audit_category = 'string_6' THEN 6 
    WHEN audit_category = 'string_7' THEN 7 
ELSE 8 END 

Antwort

0

Sie nur CASE-Anweisung, das gleiche erreichen verwenden können:

ORDER BY CASE WHEN "name"='core' THEN 1 ELSE 2 END, priority 

Sie die Liste mit einer anderen Option neben core durch Hinzufügen eines neuen WHEN/THEN verlängern Teil vor ELSE, so was Sie letztlich tun, ist eine Liste der möglichen name Optionen auf ganze Zahlen, die zum Sortieren der Zeilen verwendet werden

+0

CASE WHEN audit_category = 'string_1' THEN 1 WHEN audit_category = 'string_2' THEN 2 WHEN audit_category = 'STRING_3' THEN 3 WHEN audit_category = 'STRING_4' THEN 4 WHEN audit_category = 'STRING_5' THEN 5 WHEN audit_category = 'string_6' THEN 6 WANN audit_category = 'string_7' DANN 7 ELSE 8 ENDE Ich habe das versucht, aber es scheint immer noch nach dem Zufallsprinzip zu sortieren? –

+0

@WillRoss es sollte sortieren, bitte posten Sie die gesamte Abfrage in der ursprünglichen Frage – AlexYes

+0

Aktuelle Abfrage in Original-Frage –

Verwandte Themen