将两个结果合并到一个结果集mysql中

时间:2015-11-02 10:48:27

标签: mysql union

我有两个查询,一个将返回由喜欢订购的数据,而在用户城市中,另一个将按距离返回数据。 所以如果查询1返回:id 1,2,3(按喜欢排序) 和查询2返回:id 4,5,6(按距离排序) 我需要最终的结果为1,2,3,4,5,6 我试图在两个查询之间建立联盟,但它不起作用。还有其他建议吗?

2 个答案:

答案 0 :(得分:0)

您可以根据此link使用左连接联盟全部联盟也可以看作here

示例:SELECT 1 UNION ALL SELECT 2

答案 1 :(得分:0)

解决方案是对每个查询设置限制,然后联合将正常工作: (SELECT DISTINCT ID,' a' as type,... 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)按类型asc排序。