I need to write an ORDER BY clause that will result in the output of: 1, 2, 4, 3
Basically, if value is capable of being cast to the enum it should be and the sorting order of the enum used; otherwise order on the value of id.
It doesn't matter how the two groups, enums and non-enums, sort relative to each other - for any execution of the query either all values will be enum-able or none will be.
Trying to do this in pure SQL though I'm thinking I'll have to do this in pl/pgsql and put the "is enum-able" check external to the query and either use dynamic SQL or write two separate queries.
I tried casting the enum to an integer but it would not let me :(
Thanks in advanced for any thoughts.
David J.
Running 9.3 and discovered the pg_enum view that has the needed column that can be converted to integer (well, numeric since it can be fractional...)