mysql - SQL按日和月选择查询顺序

标签 mysql sql postgresql

假设今天是 2 月 3 日。

我有一张 table :

CREATE TABLE devotion
(
  id serial NOT NULL,
  date timestamp without time zone
}

我有 4 条记录:

id date
1  2013-01-01
2  2013-02-02
3  2013-03-03
4  2013-04-04

我想构建一个选择查询,它将按以下顺序返回所有记录(按日期排序,但首先是即将到来的日期,已通过的日期附加到列表末尾):

id date
3  2013-03-03 (upcoming dates first)
4  2013-04-04
1  2013-01-01 (passed dates appended to the end of the list)
2  2013-02-02

所有记录的年份相同。事实上,年并不重要,重要的是日和月。如果您能提出更好的结构,非常欢迎。

最佳答案

按案例排序 when date1 > now() then 0 else 1 end case, date1

将给出 3,4,1,2 的顺序

关于mysql - SQL按日和月选择查询顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650705/

相关文章:

mysql - 用于获取没有请求的产品数量的查询

sql - 如何设置SQL Server用户访问某些表的权限

postgresql - 错误 : unsatisfiable constraints when installing PostGIS on the Alpine Docker image

postgresql - 在 SQL 控制台中运行 PostgreSQL 存储过程

mysql - 仅将 3 个字段插入到 54 个字段的 mysql 表中

mysql - 如何使用 Spring Data JPA 和 MySQL 修复 Spring Boot 中的此错误

MySQL - 是否必须在两台服务器上启用联合引擎?

Mysql替换功能问题

sql - 如何使用 PostgreSQL 执行 vacuum?

mysql - 根据上次修改的属性排序时出现分页问题