1

我在 SQL Server 2008 中有一个“观察”表。该表有一个 locationId 列用于一组地理位置、几列用于观察详细信息和一个用于最新更新日期的列。

每周都会为每个位置添加新的观察记录。所以一个位置在表中出现了很多次。

我想要实现的是能够获得每个位置的最新观察记录。

任何人都可以提供任何想法吗?

4

5 回答 5

4
 select * from observation where date=(select max(date) from observation)

或者

select top 1 * from observation order by date desc
于 2012-11-05T05:38:16.393 回答
1
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  
于 2012-11-05T08:26:24.753 回答
0

运行查询

select * from Observation 
group by location 
order by viewdate desc

还请提供有关表格的完整详细信息以及您想要获得的内容。

编辑:反引号已删除。

于 2012-11-05T05:36:53.797 回答
0

使用如下所示的 Getdate 函数。

select * from TBL_MP_QC_CustomerWiseCOA_Master  order by getdate() desc
于 2017-04-03T11:17:40.760 回答
0

将数据类型为 [timestamp] 的列添加到表中,执行以下代码:

select top(10) * from yourtablename order by columanname desc

注意:columanname 应该是您添加的带有时间戳类型的列

于 2015-12-30T05:32:01.677 回答