簡體   English   中英

帶聯合的SQL命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM