表名为A的一张表,如下:
编号 时间 使用编号 次数
1 2012-11-12 11:42:20.637 1495 5140
2 2012-11-12 11:25:35.030 1419 30291
3 2012-11-12 15:38:15.353 1495 10000
4 2012-11-12 09:56:39.453 1494 10022
5 2012-11-12 16:45:44.390 1494 221.00
6 2012-11-12 16:44:58.387 1494 222.00
7 2012-11-12 16:44:18.387 1494 111.00
sql语句得到如下结果:(备注说明:得到A表中使用编号在某一天最后时间时的数据)
2012-12-07 11:42:20.637 1495 5140
2012-12-04 11:25:35.030 1419 30291
2012-11-26 15:38:15.353 1495 10000
2012-11-12 16:45:44.390 1494 221.00
select * from A where A.时间=(select max(a.时间) from A group by convert(nvarchar,A.时间,111))
试试吧,不知道符不符合你的要求。
欢迎讨论。
select 时间,使用编号,次数 from (select 使用编号,max(时间) as 最后时间 from a where convert(nvarchar,时间,111)=@查询时间 group by 使用编号) as tb1
left join a as tb2 on tb1.使用编号=tb2.使用编号 and tb2.时间=tb1.最后时间
楼上正解..
select * from A where 时间 in(select max(时间) from A group by CONVERT(NVARCHAR(10), 时间, 120))
我和楼上想得一样