我在 SQL Server 2008 中有一个“观察”表。该表有一个 locationId 列用于一组地理位置、几列用于观察详细信息和一个用于最新更新日期的列。
每周都会为每个位置添加新的观察记录。所以一个位置在表中出现了很多次。
我想要实现的是能够获得每个位置的最新观察记录。
任何人都可以提供任何想法吗?
我在 SQL Server 2008 中有一个“观察”表。该表有一个 locationId 列用于一组地理位置、几列用于观察详细信息和一个用于最新更新日期的列。
每周都会为每个位置添加新的观察记录。所以一个位置在表中出现了很多次。
我想要实现的是能够获得每个位置的最新观察记录。
任何人都可以提供任何想法吗?
select * from observation where date=(select max(date) from observation)
或者
select top 1 * from observation order by date desc
select a.* from observations a inner join
(select locationid ,max(updateddate) dates from observations
group by locationid) b
on a.locationid=b.locationid
and a.updateddate=b.dates
运行查询
select * from Observation
group by location
order by viewdate desc
还请提供有关表格的完整详细信息以及您想要获得的内容。
编辑:反引号已删除。
使用如下所示的 Getdate 函数。
select * from TBL_MP_QC_CustomerWiseCOA_Master order by getdate() desc
将数据类型为 [timestamp] 的列添加到表中,执行以下代码:
select top(10) * from yourtablename order by columanname desc
注意:columanname 应该是您添加的带有时间戳类型的列