Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何为表中最近更新的行编写select查询_Sql_Sql Server - Fatal编程技术网

Sql 如何为表中最近更新的行编写select查询

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 |

我不熟悉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       | 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
。这回答了你的问题吗?