gpt4 book ai didi

mysql - mysql中的优先级

转载 作者:行者123 更新时间:2023-11-29 05:08:14 25 4
gpt4 key购买 nike

我想优先考虑状态部分。未报告的所有内容都应首先出现。不论日期。但是现在,它会在日期之后订购所有东西。我如何确定第一个案例“未报告部分”的优先级?列表的其余部分应该出现在日期之后。

SELECT * FROM list
ORDER BY date DESC,
CASE
WHEN `bookings`.`status` = 'Not repported' THEN 1
WHEN day= 'Monday' THEN 2
WHEN day= 'Tuesday' THEN 3
WHEN day= 'Wednesday' THEN 4
WHEN day= 'Thursdau' THEN 5
WHEN day= 'Friday' THEN 6
WHEN day= 'Saturday' THEN 7 WHEN
day= 'Sunday' THEN 8 END ASC
limit 1,20 ";

我想要这样的东西。

------------------------------
DATE----DAY-------STATUS------
2011---Monday-----Not reported
2015---Sunday-----Not reported
2010---Wednedday--Not reported
2016---Monday---------Reported
2015---Monday---------Reported
2014---Tuesday--------Reported
2013---Sunday---------Reported
------------------------------

最佳答案

您有两个订单报表。一个用于日期,一个用于您的预订状态。 mysql会先按照你的第一个order语句来排序,然后再根据你的第二个order语句。因此,切换订单语句可以解决您的问题。此外,在 mysql 中还有用于“CASE”的“ELSE”关键字。

总的来说我会这样写:

SELECT *
FROM list
ORDER BY
CASE
WHEN `bookings`.`status` = 'Not repported' THEN 1
ELSE 2
END ASC,
date DESC
LIMIT 1,20

(我不太确定你的“预订”表现在来自哪里,但我把它留在那里了。你可能会错过一个 JOIN 子句)

关于mysql - mysql中的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44423959/

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