gpt4 book ai didi

MySQL 使用 order 排序而不使用 unio

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:43 27 4
gpt4 key购买 nike

我在 mysql 中使用联合语句,但在对结果进行排序时遇到了一些问题。 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(主键)排序。这个查询有什么问题?

谢谢!

最佳答案

好的,我已经修复了以这种方式编写查询:

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;

关于MySQL 使用 order 排序而不使用 unio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com