[英]SQL order with Union
我想從兩個查詢中選擇結果的並集。 我想做的是選擇一個具有特定約束的條目,然后通過其他約束添加剩余的順序。
我嘗試執行聯合,但第二個查詢的排序失敗,因為它無法在子查詢上排序。
因此,我要做的是聲明一個表變量,然后插入單個條目,然后按約束順序插入其余條目。
有沒有辦法使用工會做到這一點?
您可以只包裝合並在一起的查詢結果,然后執行排序。 就像是:
SELECT MainQ.* FROM
(
(SELECT * FROM MyTable AS T1 WHERE MyField = 1)
UNION
(SELECT * FROM MyTable AS T2 WHERE MyField = 2)
) AS MainQ
ORDER BY MainQ.TableID
將union語句用作子查詢,然后從中選擇。
Select * from
(select fields,1 as orderby from table
union all
select fields,2 from as orderby table)a
where whatever
order by orderby,whatever
order by子句也可以進行大量自定義... 如何在mySQL中定義自定義ORDER BY order
以mysql為例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.