Sql 如何为表中最近更新的行编写select查询
我不熟悉sql查询,任何人都不知道如何使用sql查询仅从表中获取上次更新的记录 表架构:Sql 如何为表中最近更新的行编写select查询,sql,sql-server,Sql,Sql Server,我不熟悉sql查询,任何人都不知道如何使用sql查询仅从表中获取上次更新的记录 表架构: 用户名|软件名|发布者 Scan time | User Name | SoftwareName | Publisher | installed Date 08-05-2016 04:44:00 AM | yyy | Msoffice | microsoft | 08-08-2016 09:34:00 PM 08-06-2016 12:12:00 PM | xxx |
用户名|软件名|发布者
Scan time | User Name | SoftwareName | Publisher | installed Date
08-05-2016 04:44:00 AM | yyy | Msoffice | microsoft | 08-08-2016 09:34:00 PM
08-06-2016 12:12:00 PM | xxx | Msoffice | microsoft | 08-08-2015 01:09:00 AM
08-06-2016 12:52:00 PM| xxx | chrome | google | 08-07-2015 02:30:20 PM
最后两行更新为08-08-2016我需要选择“仅查询最后更新的记录”(08-08-2016)您想要最后一天的记录。因此,将时间部分从datetime调整为date,按此顺序排列,通过领带获得前1天,您就完成了:
select top 1 with ties *
from mytable
order by cast([installed Date] as date) desc;
您正在使用什么RDBMS(供应商和版本)?发布您的表定义和示例数据。版本?请发布您的表定义、示例数据和预期结果。添加一些示例表数据和预期结果。同时显示您当前的查询尝试!我想您需要一个时间戳字段来查询最近更新的记录。|**扫描时间|用户名|软件名|发布者|安装日期| 08-05-2016 | yyy | Msoffice | 08-08-2016 | 08-06-2016 | xxx | Msoffice | microsoft | 08-08-08-2015 | 08-06 | xxx 12408-06-2016 | google 12408 12408 12408 12407 |假设这是正确的现在更新到截止日期(日期字符串为MM dd yyyy),最后两行插入到今天(08-08-2016)。那么如何只获取今天的记录。它可能会在正确的日期中插入一些较低的日期,然后如何查询这些较低的日期以及当前的日期。我不明白。上面的查询提供了在表中找到的最新日期。如果您想要另一个日期,请使用where子句。如果您想要最新的日期加上给定的日期,请使用两个查询并结合
union all
。这回答了你的问题吗?