ITPUB??ì3
ITPUB论坛 » MS SQL Server » 在线求答!!!!

标题: 在线求答!!!!
离线 df0328
初级会员



精华贴数 0
个人空间 0
技术积分 132 (13280)
社区积分 0 (1541975)
注册日期 2007-9-6
论坛徽章:0
      
      

发表于 2008-6-30 15:47 
在线求答!!!!

表 daily_num
id    contractid  realnum booknum tankid datime
1       a               300         301         a110    2008-9-3
2       a               300         301         a110    2008-9-4
3       b               200         308         a110    2008-9-3
4       b               200         198         a114    2008-8-2
5       c               390          231        a109     2008-4-9
6       a               300         301         a130    2008-9-4
7       b               200         198         a114    2008-8-3
8       a               300         301         a130    2008-9-5
想得到如下结果:
2       a               300         301         a110    2008-9-4
3       b               200         308         a110    2008-9-3
7       b               200         198         a114    2008-8-3
5       c               390          231        a109     2008-4-9
8       a               300         301         a130    2008-9-5


即是取,所有contractid下,所有tankid的,并且datime日期为最大的记录集.
该如何用SQL取得结果?


__________________
我的博客:http://blog.sina.com.cn/df0328
只看该作者    顶部
离线 jvkojvko
小马哥


精华贴数 1
个人空间 0
技术积分 4961 (264)
社区积分 35034 (24)
注册日期 2007-9-10
论坛徽章:20
奥运纪念徽章祖母绿红宝石海蓝宝石紫水晶紫蜘蛛
玉石琵琶     

发表于 2008-6-30 16:33 
select * from tablea a
where exists (select 1 from (select contractid ,tankid ,max(datime) as datime from tablea
group by contractid ,tankid ) b where a.contractid = b.contractid  and a.tankid = b.tankid  and
a.datime = b.datime)


__________________
马无夜草不肥,人无外财不富。
只看该作者    顶部
离线 df0328
初级会员



精华贴数 0
个人空间 0
技术积分 132 (13280)
社区积分 0 (1541975)
注册日期 2007-9-6
论坛徽章:0
      
      

发表于 2008-6-30 18:05 
小马哥~


__________________
我的博客:http://blog.sina.com.cn/df0328
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问