美好的一天。 因此,everythign是在標題:)在「UNION」(Mysql)上應用「ORDER BY」
我期待合併兩個請求的結果並將結果排序在一起(如在不一個接一個)。 =>我正在考慮申請工會並訂購。 它沒有奏效。
我環顧這裏on Stack或這裏developpez (!!french website)。我嘗試了不同的例子和建議,但沒有成功。 從我的紅色看來,這是因爲我正在使用Mysql。
總之,這裏是我的attemps,並將結果:
我原來的2個請求
SELECT * FROM user_relation WHERE from_user_id = 1
List item
SELECT * FROM user_relation WHERE to_user_id = 1
由德弗里斯特的結果列表的這一結果選擇(通過索引鍵odered),其次由Index KEy排序的第二個選擇的結果。
嘗試1:
(SELECT * FROM user_relation WHERE from_user_id = 1 ORDER BY trust_degree)
UNION
(SELECT * FROM user_relation WHERE to_user_id = 1 ORDER BY trust_degree)
請求跑,但TEH結果是格蘭相同原單請求:第一選擇(由索引鍵順序)的結果,然後通過所述第二請求的結果
嘗試2:
(SELECT * FROM user_relation WHERE from_user_id = 1 ORDER BY trust_degree)
UNION
(SELECT * FROM user_relation WHERE to_user_id = 1 ORDER BY trust_degree)
ORDER BY trust_degree
=>請求運行,導致如企圖1,但具有警告i中的Mysql邏輯: (這種類型的接近的已被分析的(ORDER BY))
嘗試3
(SELECT * FROM user_relation WHERE from_user_id = 1
UNION
SELECT * FROM user_relation WHERE to_user_id = 1)
ORDER BY trust_degree
=>不要跑,但錯誤#1064 - UNION
鄰近語法錯誤嘗試4:
SELECT *
FROM (
(SELECT * FROM user_relation WHERE from_user_id = 1)
UNION
(SELECT * FROM user_relation WHERE to_user_id = 1)
)
ORDER BY trust_degree
=>不跑,還有一個不錯的6錯誤列表。 有什麼建議嗎?
怎麼樣一個簡單的'或'? :) –
你試過選擇你的聯合結果INTO臨時表,然後從那裏選擇和ORDER BY? – nageeb
我很金髮...... thx !! :D – Quiche