2012-03-06 30 views
-1

是否有可能在一個SQL查詢後添加UNIONorder by 1可以按照它的順序選擇嗎?

SELECT * FROM table1 WHERE etc='1' ORDER BY 11; 

我們可以添加11旁邊的一個工會選擇查詢是這樣嗎?

SELECT * FROM table1 WHERE etc='1' ORDER BY 11 UNION select etc etc etc ...; 
+0

-1有這麼多重複的問題,這個問題,我找不到一個我加了有意義的評論! – onedaywhen 2012-03-06 12:27:32

回答

0

你可以使用這樣的:

SELECT * FROM table1 WHERE etc='1' 
union 
SELECT * FROM table1 WHERE etc='1' 
ORDER BY any_column 
+0

我知道,但想知道是否有可能通過 – user1150271 2012-03-06 09:43:05

+1

訂單後使用工會它會以同樣的方式使用我這種方式,你的工作將完成。試試看 :) – 2012-03-06 09:54:32

0

您可以在查詢結束最後union後只使用ORDER BY。基本上所有的SELECT都是先完成的,然後整個結果集被排序。

1

也許是這樣的:

SELECT 
    *, 
    11 AS orderby 
FROM 
    table1 
WHERE 
    etc='1' 
UNION 
select 
    *, 
    10 AS orderby 
FROM 
    table2 
ORDER BY 
    orderby 
2

在MySQL中,你可以通過一個子查詢和工會多個子查詢的結果中附上條款的順序;這樣的事情:

SELECT * FROM (SELECT * FROM table1 WHERE etc='1' ORDER BY 11) sq1 
UNION ALL 
SELECT * FROM (SELECT * FROM table2 WHERE etc='2' ORDER BY 12) sq2 
... 
相關問題