我在 mysql 中使用 union 语句,但我在排序结果时遇到了一些问题。ORDER 语句根本不起作用,结果总是按 id 字段排序。
这是一个示例查询:
SELECT a.* FROM ( ( select * from ticket_ticket AS t1 WHERE ticket_active=1 ORDER BY t1.ticket_date_last_modified DESC )
UNION ( select * from ticket_ticket AS t2 WHERE ticket_active=0 ORDER BY t2.ticket_date_last_modified DESC, t2.ticket_status_id DESC ) )
AS a LIMIT 0,20;
我想按 last_modified 时间排序第一个 SELECT 的结果,按时间和状态排序第二个 SELECT 的结果。但是 ORDER 语句被跳过了。结果总是按ticket_id(PRIMARY KEY)排序。这个查询有什么问题?
谢谢!