sql - Union and order by a column not selected -


let's have table a, columns a_1 , a_2.

i interested in column a_1, can write :

select a_1 a; 

however want ordered column a_2, write :

select a_1 order a_2 desc; 

now want union :

select a_1 <some filters> union select a_1 <some other filters> order a_2 desc; 

this doesn't work anymore ("a_2": invalid identifier), change :

select a_1, a_2 <some filters> union select a_1, a_2 <some other filters> order a_2 desc; 

the select a_2 part bothers me : don't want show in results, how can hide information ?

conceptually, doesn't make sense order a_2 after you've done union on a_1. oracle's perspective, entirely possible distinct a_1 value in either query, there may many different a_2 values returned. there many possible sort orders.

you can, of course, nest query a_1 in results

select a_1   (select a_1, a_2 <some filters>         union         select a_1, a_2 <some other filters>) sub_q  order a_2 desc; 

of course, performance standpoint, make sense use union all rather union unless want , eliminate duplicate rows. , if both queries pulling same table, makes more sense use single query or rather writing union of 2 different queries.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -