请教一个比较难的SQL语句(100分)

  • 主题发起人 主题发起人 dadabox
  • 开始时间 开始时间
D

dadabox

Unregistered / Unconfirmed
GUEST, unregistred user!
0001 XXXXX 20020515
0001 XXXXX 20020516
0002 XXXXX 20020514
0002 XXXXX 20020513
0003 XXXXX 20020517
0003 XXXXX 20020516
要求查询出所有编号日期最近一天的数据。即查询出的数据应该如下:
0001 XXXXX 20020516
0002 XXXXX 20020514
0003 XXXXX 20020517
但我的表中数据比较多,可能有几万甚至十几万笔。要怎样写这个SQL?希望实现这个功能
的前提下,效率不要太慢。数据库是SQL SERVER。
 
query1.sql.add='select distinct(编号) from table'
do while not query1.eof
begin
query2.sql.add='select date from table where 编号=' +query1(0)+' order by date desc'
date:= query2(0);
query1.movenext;
end;
 
忘记关注了
 
select max(字段) from table order by 编号
 
这句SQL语句应该可以搞定:
select * from table_name where 编号+日期 in(
select 编号+max(日期) from Table_name group by 编号)
 
select a.* from table_name a ,
(select 编号+max(日期) b from Table_name group by 编号) c
where a.编号+日期 =c.b

应该比上面的要快一点吧.呵呵
 
li2的应该可以吧!
 
后退
顶部