假设我们有一个具有几个不同列的表“user”。其中两个是日期(日期)和isValid (布尔值)。我想用两列(date和isValid)来编写sql。首先,我想按日期进行排序,然后,具有isValid =1的每一行都应该是isValid = 0的行。因此,即使有一个日期为2022.01.01和isValid =0的行应该在日期为2021.01.01的行之前
初步数据:
Date IsValid
2023 0
2022 1
2025 0
2024 1
2026 0预期数据:
Date IsValid
2023 0
2025 0
2026 0
2022 1
2024 1发布于 2022-02-18 12:14:06
列之间有个逗号..。
SELECT
date,
isValid
FROM
yourTable
ORDER BY
isValid,
date发布于 2022-02-18 12:14:16
根据您的编辑,您的列顺序将被更改,是有效的,然后是日期,所以我改变了我的答案如下
order by isValid, date 发布于 2022-02-18 12:29:33
您需要为isValid列指定desc,因为您似乎首先需要真值记录,所以您的查询如下所示:
SELECT * FROM `USER` ORDER BY `DATE`, ISVALID DESC;https://stackoverflow.com/questions/71173294
复制相似问题