2015-11-02 201 views
0

我有兩個查詢,其中一個將返回按喜歡排序的數據,另一個則根據距離返回數據。 所以如果查詢1返回:id 1,2,3(按喜歡排序) 和查詢2返回:id 4,5,6(按距離排序) 我需要最終設置結果爲1,2,3, 4,5,6 我試圖做兩個查詢之間的聯合,但它不工作。任何其他建議?將兩個結果合併到一個結果集中mysql

+0

添加你到目前爲止 – Thamilan

+0

嘗試(SELECT DISTINCT ID, 'A' 類型,... FROM表1 GROUP BY ID ORDER BY likesDESC )UNION ALL( SELECT DISTINCT ID, 'B' 類型,. ... FROM table1 GROUP BY ID ORDER BY distance) –

+0

但在第一個查詢中返回的結果集和第二個查詢中的結果集與最終結果 –

回答

0

根據此link可以使用左加入聯合聯盟全部也可以像你可以看到here

實施例:SELECT 1個UNION ALL選擇2

+0

不同,但這仍然不會按我的意願返回。 1,2,3,4,5,6。到目前爲止它返回7,8,9,10,11,12 ... –

+0

在這裏發佈您的完整查詢請 – Keurdange

0

溶液是把限制到每個查詢,則聯合將工作正確: (SELECT DISTINCT ID, 'A' 作爲類型,... FROM table1 GROUP BY ID ORDER BY likesDESC limit 50)union all(SELECT DISTINCT ID,'b'as type,.... FROM table1 GROUP BY ID ORDER BY distance limit 50)order by type asc。

相關問題