Mysql 查询获取日期时间紧跟当前日期时间之后的记录

Posted

技术标签:

【中文标题】Mysql 查询获取日期时间紧跟当前日期时间之后的记录【英文标题】:Mysql Query to get a record whose date time is immediately after the current date time 【发布时间】:2014-01-16 14:33:57 【问题描述】:

我有一个包含以下字段的约会表。我写一个这样的查询。

选择 * 从约会应用程序 哪里 app.patient_id = 123 按约会开始dt DESC 排序;
+--+----------+--------------------+
|id|patient_id|appointment_start_dt|
+--+----------+--------------------+
|1 |123       |2014-01-18 19:10:00 |
+--+----------+--------------------+
|2 |123       |2014-01-18 12:08:00 |
+--+----------+--------------------+
|3 |123       |2014-01-17 15:00:00 |
+--+----------+--------------------+
|4 |123       |2014-01-15 11:01:00 |
+--+----------+--------------------+
|5 |123       |2014-01-11 12:30:00 |
+--+----------+--------------------+
|6 |123       |2014-01-10 04:00:01 |
+--+----------+--------------------+

表在当前日期之前有一些约会(假设当前日期时间是 2014-01-15 15:00:00)和在当前日期和时间之后针对特定患者的一些约会。 我需要针对一位预约日期在当前日期时间之后的患者获取一条记录,即如果有两个预约将在 2014-01-17 15:00:00 之后进行,我需要选择哪个预约最早是2014-01-18 12:08:00。

如果有人帮助我进行此查询,我将不胜感激 谢谢

【问题讨论】:

【参考方案1】:

试试这个

SELECT * 
FROM appointments app 
where app.patient_id = 123 AND appointment_start_dt > Now()
order by appointment_start_dt ASC LIMIT 1;

【讨论】:

是的,它解决了这个问题。我试图使用总是给我最高日期记录的 DESC。谢谢凯尼尔森。

以上是关于Mysql 查询获取日期时间紧跟当前日期时间之后的记录的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver获取当前日期条件查询

mysql如何查询两个日期之间最大的连续登录

JAVA中怎样获取数据库中查询出来的日期

mysql的日期与时间函数,varchar与date相互转换

Mysql/Php - 当前日期和时间

在日期之间选择mysql查询?