当前位置: 首页 > 编程笔记 >

MySQL查询以查找表中的最新3个日期,且结果日期不应重复

简培
2023-03-14
本文向大家介绍MySQL查询以查找表中的最新3个日期,且结果日期不应重复,包括了MySQL查询以查找表中的最新3个日期,且结果日期不应重复的使用技巧和注意事项,需要的朋友参考一下

要查找最新日期,请使用ORDER BY DESC订购日期记录。由于我们只需要3个日期,因此请使用LIMIT 3。

让我们首先创建一个表-

mysql> create table DemoTable
(
   AdmissionDate date
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values('2019-09-04');
mysql> insert into DemoTable values('2019-08-10');
mysql> insert into DemoTable values('2019-09-21');
mysql> insert into DemoTable values('2019-09-18');
mysql> insert into DemoTable values('2019-09-21');
mysql> insert into DemoTable values('2019-08-18');
mysql> insert into DemoTable values('2019-09-18');
mysql> insert into DemoTable values('2019-09-16');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+---------------+
| AdmissionDate |
+---------------+
| 2019-09-04    |
| 2019-08-10    |
| 2019-09-21    |
| 2019-09-18    |
| 2019-09-21    |
| 2019-08-18    |
| 2019-09-18    |
| 2019-09-16    |
+---------------+
8 rows in set (0.00 sec)

以下是查询以查找表中的最新3个日期-

mysql> select AdmissionDate from (select distinct AdmissionDate from DemoTable) tbl order by AdmissionDate desc limit 3;

这将产生以下输出-

+---------------+
| AdmissionDate |
+---------------+
| 2019-09-21    |
| 2019-09-18    |
| 2019-09-16    |
+---------------+
3 rows in set (0.00 sec)
 类似资料:
  • 问题内容: 我正在处理一个查询,其中需要查看患者去诊所时输入的患者生命体征(特别是血压)。我将获得2015年全年的结果,当然,某些患者曾多次就诊,我只需要查看最近一次就诊时输入的生命指标即可。另一个轻微的变化是收缩压和舒张压是分别输入的,因此我得到如下结果: 有26,000多个结果,因此显然我不想遍历每位患者并查看他们的最新结果是什么时候。我希望我的结果看起来像这样: 我知道出生的名字和日期,以后

  • 问题内容: 我在Java中有三个约会:a,b,c。这些日期中的任何一个或所有日期都可以为空。在没有大量if- else块的情况下确定a,b,c中最早日期的最有效方法是什么? 问题答案: 无法避免空值检查,但是通过一些重构,您可以使其变得更轻松。 创建一个安全地比较两个日期的方法: 然后结合调用: 实际上,您可以将此方法用作任何通用方法:

  • 问题内容: 全部, 我敢肯定这是一个非常简单的SQL查询问题,但是我敢肯定有一个很好的方法,也很糟糕的方法来做到这一点。留给我自己的设备,我有可能以后者结束。所以… 我在Access中有一个表,其中的数据如下所示: 我想要获取的是每个具有唯一“截止日期”日期(采用YYYYMM格式)的唯一ID的“值”。 因此,我的结果集应如下所示: 请注意,不同的ID将具有不同的“截止日期”日期。换句话说,我不能简

  • 你好,我有两列日期时间的多行,我想获取所有记录的两列之间的最新日期(最高)的行。请查看以下内容: 我想从两列(Date1和Date2)的所有记录中获取最高日期。从上表中,我想要第三行日期,因为这是两列所有记录中的最高日期(2021-06-16 20:04:24)。如果我们在2021-06-16 09:20:41之前更改date1列第3行,那么结果将是第2行,因为在date2中找到了最高日期记录。请

  • 问题内容: 我有一个和。我想获取这两个日期之间的日期列表。谁能帮助我指出查询中的错误。 这是一个变量。 问题答案: 您应该将这两个日期放在单引号之间,例如。 或可以使用 请记住,第一个日期是包含日期,但第二个日期是排除日期,因为它实际上是“ 2011/02/27 00:00:00”

  • 问题内容: 这个问题已经在这里有了答案 : 获取两个日期之间的日期列表 (19个答案) 7年前关闭。 我想通过选择查询将日期列表放在两个日期之间。例如: 如果我给出“ 2012-02-10”和“ 2012-02-15”,则需要结果。 我怎样才能得到? 问题答案: 尝试: -未来的日期范围将近300年。 [根据UrvishAtSynapse的建议编辑进行更正。]