读书人

问个SQL语句解决思路

发布时间: 2012-03-03 15:33:04 作者: rapoo

问个SQL语句
ProductID CustID Time
a 1 2007-08-01
a 1 2007-09-01
b 1 2007-09-01

如果 ProductID有重复的 只取Time最大的那条纪录

上面的要取出
ProductID CustID Time
a 1 2007-09-01
b 1 2007-09-01

[解决办法]
--方法二

create table tb (ProductID varchar(10),CustID int,Time datetime)
insert into tb values('a',1,'2007-08-01')
insert into tb values('a',1,'2007-09-01')
insert into tb values('b',1,'2007-09-01')
go

select a.* from tb a where time = (select max(time) from tb where productid = a.productid)

drop table tb

/*
ProductID CustID Time
---------- ----------- -----------------------
b 1 2007-09-01 00:00:00.000
a 1 2007-09-01 00:00:00.000

(所影响的行数为 2 行)
*/

读书人网 >SQL Server

热点推荐