SQL: how to use UNION and order by a specific select?

后端 未结 6 2080
不思量自难忘°
不思量自难忘° 2020-12-09 16:18

I have two selects:

SELECT id FROM a -- returns 1,4,2,3
UNION
SELECT id FROM b -- returns 2,1

I\'m receiving correct num of rows, like:

6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-09 16:47

    Using @Adrian tips, I found a solution:

    I'm using GROUP BY and COUNT. I tried to use DISTINCT with ORDER BY but I'm getting error message: "not a SELECTed expression"

    select id from 
    (
        SELECT id FROM a -- returns 1,4,2,3
        UNION ALL -- changed to ALL
        SELECT id FROM b -- returns 2,1
    )
    GROUP BY id ORDER BY count(id);
    

    Thanks Adrian and this blog.

提交回复
热议问题