2017-03-16 2 views
1

Lets sagen, dass ich in der folgenden Tabelle haben:PSQL Wenn Null, um von Benutzername

username | surname | firstname | type | mark | username | group_id 
----------+---------+-----------+---------+------+----------+---------- 
s68  | sln68 | sfn68  | student | 37 | s68  |  1992 
s67  | sln67 | sfn67  | student | 37 | s67  |  1992 
s84  | sln84 | sfn84  | student | 37 | s84  |  1992 
s70  | sln70 | sfn70  | student | 37 | s70  |  1992 
s63  | sln63 | sfn63  | student | 37 | s63  |  1992 
s1  | sln1 | sfn1  | student | 12 | s1  |  2000 
s2  | sln2 | sfn2  | student | 12 | s2  |  2000 
s49  | sln47 | sfn47  | student |  |   |   
s48  | sln48 | sfn48  | student |  |   |   
s47  | sln49 | sfn49  | student |  |   |   
s50  | sln50 | sfn50  | student |  |   |   
s52  | sln51 | sfn51  | student |  |   |   
s51  | sln52 | sfn52  | student |  |   |   

ich die rows sortiert haben auf der Grundlage der mark Spalte in absteigend sortiert. Die Zeilen, in denen mark null ist, werden am Ende der Tabelle eingefügt. Aber für die Zeilen mit möchte ich nach der username in ASC sortieren. Wie mache ich das?

Ich habe so etwas wie order by case when mark is null then username asc else... versucht, aber das funktioniert nicht. Irgendwelche Ideen? Versuchen

Antwort

0

Order By mark desc nulls last, username asc; 
Verwandte Themen