UNION中ORDER By的使用
所union的各个子查询要有相同数量的列,且对应位置的列必须具有相同的数据类型;但列的名字可以不同。
SELECT e.travelOrderid, e.travelDate, e.travelTime, e.travelstatus, e.travelStart, e.travelEnd, e.travelPrice, e.traveldistance, e.travelMinute, e.startlon, e.startlat, f.lat AS endlat, f.lon AS endlon FROM ( SELECT c.travelOrderid, c.travelDate, c.travelTime, c.travelstatus, c.travelStart, c.travelEnd, c.travelPrice, c.traveldistance, c.travelMinute, c.endid, d.lon AS startlon, d.lat AS startlat FROM ( SELECT b.start_station_id AS sartid, b.end_station_id AS endid, b.order_id AS travelOrderid, b.send_date AS travelDate, b.send_time AS travelTime, b. STATUS AS travelstatus, a.start_station_name AS travelStart, a.end_station_name AS travelEnd, a.price AS travelPrice, a.distance AS traveldistance, a.run_time AS travelMinute FROM u_line a RIGHT JOIN u_order_base_${surfix} b ON a.id = b.line_id WHERE b.customer_id = #{memberid} AND b.mobile = #{phone} UNION ALL SELECT b.start_station_id AS sartid, b.end_station_id AS endid, b.order_id AS travelOrderid, b.send_date AS travelDate, b.send_time AS travelTime, b. STATUS AS travelstatus, a.start_station_name AS travelStart, a.end_station_name AS travelEnd, a.price / 100 AS travelPrice, a.distance AS traveldistance, a.run_time AS travelMinute FROM u_line a RIGHT JOIN u_order_base_${surfix} b ON a.id = b.line_id WHERE b.customer_id = #{memberid} AND b.mobile = #{phone} ORDER BY travelDate DESC, travelTime DESC ) c LEFT JOIN u_station d ON c.sartid = d.station_id ) e LEFT JOIN u_station f ON e.endid = f.station_id
朱雀桥边野草花,乌衣巷口夕阳斜。
旧时王谢堂前燕,飞入寻常百姓家。
浙公网安备 33010602011771号