0

我为一个表运行一个 select 语句。我在 DATE 类型的字段上执行 ORDER BY。该字段有 3 个可能的值:

  1. 日期>=今天

  2. 一个日期<今天

  3. 空值

我希望它将 no2 视为 null,以便首先给我带来 no1 结果,然后是所有其他结果,无论它们的值如何,因为我接下来运行第二个 ORDER BY。我尝试了任何事情都没有成功,这似乎超出了我的知识范围。谢谢你读我!

4

2 回答 2

1

对于 SQL Server:

order by 
case when mydate >= getdate() then mydate else null end
于 2012-12-22T18:45:50.210 回答
0

您也可以在 mysql 中使用 CASE 语句编写 ORDER BY 语句,或者您也可以在 SELECT 子句中使用别名编写 CASE 语句并按顺序使用它。我无法理解您真正想要什么,如果您可以提供一些示例数据,那么我们可能会帮助您处理查询本身。

于 2012-12-22T19:13:17.037 回答