把表中所有“名称”的最后一次发生的最后一条数据取出来,最后发生的时间由日期来判断
名称 金额 日期
a 1.2 07-6-12
a 1.1 07-6-11
b 3.5 07-6-10
b 4.0 07-8-21
c 0.5 07-1-11
c 1.5 08-3-11
如何取到最新的价格和所在的日期,如
a 1.2 07-6-12
b 4.0 07-8-21
c 1.5 08-3.11
select a.* from 表 a,
(select 名称,max(日期) as 日期 from 表 group by 名称) b
where a.名称=b.名称
and a.日期=b.日期
Sql 取当天的记录
表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间比较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成 2007-02-02,也就是只有年-月-日,然后把当天的 时间也格式化成 年-月-日的格式.
这样,思路就出来了!
我们格式化日期要用到 Convert()这个函数,要用到3个参数,首先来格式化当天的日期,Convert(varchar(10),getDate(),120)
这样我们就可以把当天的日期格式化为: 2007-2-2,然后格式化数据库表中的日期
Convert(varchar(10),TimeFiled,120),最后我们就可以用一条Sql语句得到当天的数据了.
例如:
程序代码
Select * From table Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)