sql如何根据时间取出最新的数据记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql如何根据时间取出最新的数据记录相关的知识,希望对你有一定的参考价值。

参考技术A SELECT * FROM 表名 where time in (select max(time) from 表名) 参考技术B SELECT * FROM 表名 ORDER BY time DESC

SQL查询最新记录[重复]

【中文标题】SQL查询最新记录[重复]【英文标题】:SQL query for latest record [duplicate] 【发布时间】:2017-10-10 15:59:51 【问题描述】:

我想根据日期字段 (crtn_dt) 从表中选择最新记录。下面的查询不起作用。有谁知道应该如何修复它?

 select * from parcels
 order by crtn_dt desc
 where rownum = 1

【问题讨论】:

这里的答案可能会有所帮助:***.com/questions/11128194/… 您的查询语法错误。在订购之前从哪里来。但它仍然不会产生预期的结果。 【参考方案1】:

您需要在子查询中排序数据并在外部查询中过滤它们。

select *
  from (
        select * 
          from parcels
         order by crtn_dt desc
       )
 where rownum = 1

order by 子句是最后执行的操作之一。 您的查询所做的除了在语义上不正确外,它还返回一个(感谢rownum = 1 谓词)任意行,然后将order by 子句应用于该行。

【讨论】:

以上是关于sql如何根据时间取出最新的数据记录的主要内容,如果未能解决你的问题,请参考以下文章

如何使用SQL取出某字段第二大的记录

sql数据库查询保留最新的值?

如何从 T-SQL 表中提取最新值

选择一个Id每天的最新记录 - Oracle pl sql

数据库之取出表中最新时间的数据

oracle SQL 取出每个分组的按照日期最新一条记录,同时还显示每个分组某个字段的总和