Database Administrators Asked by Milkncookiez on January 30, 2021
I’ve got a table like:
╔═══╦════════════════════╦═════════════╗
║ID ║ type (enum) ║ updated_at ║
╠═══╬════════════════════╬═════════════╣
║ 1 ║ friend_request ║ <date_time> ║
║ 2 ║ new_article ║ <date_time> ║
║ 3 ║ article_read ║ <date_time> ║
║ 4 ║ article_invitation ║ <date_time> ║
╚═══╩════════════════════╩═════════════╝
I would like to order the retrieved results by the value of the enum type.
Records with value friend_request
and article_invitation
for the type
column should come first, then the rest. Everything together should be ordered by updated_at DESC
.
Now, I know I can chain multiple order by
properties, so f.e.
order by type desc, updated_at desc
will order for me by type
and the result of that by the updated_at
values. But how do I specify for certain values of the type
column? Is that even possible?
You can use a CASE expression:
order by case "type"
when 'article_invitation' then 1
when 'new_article' then 2
when 'article_read' then 3
when 'friend_request' then 4
end,
updated_at desc
Answered by a_horse_with_no_name on January 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP