i have a query for my next table
|id |Name|type | --------------------- |1 |B |Secondary | |2 |A |Scholar | |3 |C |University|
This could be the sql query :
select * from invite order by case "type" when 'Scholar' then 1 when 'Secondary' then 2 when 'University' then 3 end asc;
but now i need order by case:
example: when 'Scholar' then 1 desc
its possible do that?
my goal is order by id, and by case type example:
|id |Name|type | --------------------- |1 |B |Secondary | |2 |B |Secondary | |3 |B |Secondary | |4 |A |Scholar | |5 |A |Scholar | |6 |C |University| |7 |A |Scholar. |
the result will be:
|id |Name|type | --------------------- |7 |A |Scholar. | |5 |A |Scholar | |4 |A |Scholar | |3 |B |Secondary | |2 |B |Secondary | |1 |B |Secondary | |6 |C |University|
Advertisement
Answer
Your question suggests that want a new direction within each group:
order by (case "type" when 'Scholar' then 1 when 'Secondary' then 2 when 'University' then 3 end) asc; (case when "type" = Scholar then id end) desc, id asc;
However, your example suggests that you just want a second order by
key, id desc
.