使用顺序由不使用蛤蜊的 MySQL 进行排序

标签: MySQL
发布时间: 2015/6/11 20:58:13
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我在 mysql 中使用 union 语句,但我对结果进行排序的几个问题。顺序声明根本都不起作用,结果出来总是排序的 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 时间的第一选择和第二个选择的时间和状态。但顺序声明得到只是跳过。结果总是出来序由 ticket_id (主键)。 错在此查询中的是什么?

谢谢你!

解决方法 1:

好吧,我已经固定它编写这样的查询:

SELECT a.*
FROM
 (SELECT *
  FROM ticket_ticket
 WHERE ticket_active=1
 ORDER BY ticket_date_last_modified DESC) AS a
UNION ALL
SELECT b.*
FROM
(SELECT *
 FROM ticket_ticket
 WHERE ticket_active=0
 ORDER BY ticket_date_last_modified DESC, ticket_status_id DESC) AS b LIMIT 0,
                                                                          20;
官方微信
官方QQ群
31647020