求记录中的最新数据的方法!(重要)

转载 2011年01月12日 13:52:00

已知数据:

Column1    Column2     Column3    Column4
A                      10                     am         1999-01-01 00:00:00.000
A                      11                     am         1999-01-02 00:00:00.000
B                     12                      bm         1999-01-03 00:00:00.000
B                     13                      bm         1999-01-04 00:00:00.000
C                    14                      cm         1999-01-05 00:00:00.000
C                     15                     cm         1999-01-06 00:00:00.000

要求得到数据:


Column1    Column2     Column3    Column4
A                      11                     am         1999-01-02 00:00:00.000
B                     13                      bm         1999-01-04 00:00:00.000
C                     15                     cm         1999-01-06 00:00:00.000

--数据装载

Create Table #T(Column1 varchar(10),Column2 int,Column3 varchar(10),Column4 datetime)
insert #T select 'A',10,'am','1999-1-1'
union all select 'A',11,'am','1999-1-2'
union all select 'B',12,'bm','1999-1-3'
union all select 'B',13,'bm','1999-1-4'
union all select 'C',14,'cm','1999-1-5'
union all select 'C',15,'cm','1999-1-6'

--测试语句 方法1:

select a.* from #T a
where (a.Column4) =
   (select top 1 (Column4) from #T where Column1 = a.Column1 order by Column4 desc)

 

--测试语句 方法2:(最佳效率)

select a.* from #T a join(
 select Column1,Column4=max(Column4) from #T group by Column1
)b on a.Column1=b.Column1 and a.Column4=b.Column4
order by a.Column1


本文来自CSDN博客 http://blog.csdn.net/zlp321002/archive/2005/03/02/307667.aspx

查询某个字段不同值各自最新的一条数据记录SQL语句

查询各个测站点最新的一条记录: 第一种查询语句:      if(!isNull(stcd)){ //某个测站点最新的一条记录 sql.append("select a.* from dt_wate...
  • qq_23145857
  • qq_23145857
  • 2016年04月23日 18:51
  • 2545

SQL 筛选出最新一条数据

sql中exists,not exists的用法 exists : 强调的是是否返回结果集,不要求知道返回什么, 比如:   select name from st...
  • THX187
  • THX187
  • 2016年12月09日 17:57
  • 1543

sql 分组求数量,并取最新一条数据

sql 分组求数量,并取最新一条数据
  • liangrui1988
  • liangrui1988
  • 2017年03月13日 18:23
  • 789

SQL oracle 用rownum方法查询最近更新的n条数据

查询最近2小时跟新的记录 Select * From book Where update_time > sysdate-2/24 sysdate+(5/24/60/60) 在系统时间基础上延迟5秒...
  • yanjiaye520
  • yanjiaye520
  • 2014年05月07日 11:35
  • 8990

2016年重大事件记录

2016年重大事件记录写在前面说起来2016年的话,如果要开始记录的话应该从5月份开始,因为5月初我们全班去了江苏了,去学习,感觉是去送人头的,不是去学习的,在4月份的时候,我们班里已经有大牛找到工作...
  • shanyongxu
  • shanyongxu
  • 2016年12月30日 16:43
  • 1212

mongodb查询之从多种分类中获取各分类最新一条记录

文章标题有点长,吼吼。 解释下查询场景:  现在数据表里有多条记录信息,如果对某个字段分组后,会得到不同的分组,但是不需要求各分组的count,只是想获取每个分组最新的一条全部信息记录。 例子: 有个...
  • monkey_four
  • monkey_four
  • 2017年04月06日 13:02
  • 2378

从mysql中查最后一条记录

select   *   from   table   order   by   id   desc   limit   1 MySql : SELECT * FROM 表名 ORDER BY ...
  • superit401
  • superit401
  • 2015年11月12日 12:36
  • 38001

MySQL获取刚插入的数据

获取插入数据库的数据,截取Evidence时,很必要。
  • f1520107395
  • f1520107395
  • 2014年11月01日 00:05
  • 2682

javaweb学习笔记:Servlet的几个重要的方法

GenericServlet与HttpServlet类 1、GenericServlet是一个实现了Servlet的基本特征和功能的基类,其完整名称为javax.servlet.GenericS...
  • hbjae28666
  • hbjae28666
  • 2014年08月25日 11:50
  • 595

mysql去重后获得最新数据方法

昨天做项目时候突然遇到一个问题,就是我有一张点zan表(一下简称zan),结构如下图 id是自增值,gid是文章id,ip是点赞者的ip地址,time是点赞时间戳,blog是标志字段。 上面的就是...
  • z21102
  • z21102
  • 2016年07月12日 10:25
  • 1999
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求记录中的最新数据的方法!(重要)
举报原因:
原因补充:

(最多只允许输入30个字)