山西cctv领航栏目组:想请教个关于 SQL语句的 问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 19:43:28
一个表中分别有四个字段:姓名,日期,时间,数值
我想在这个表中找出最行的"数值"记录.
这里是我想的select语句,可怎么也不成功.想请大家帮忙!

Select * from baidu where Time=(select max(Time) from baidu where Date=(select max(Date) from baidu where Name='张艺'))
不好意思,拼音不习惯 打错了
我想在这个表中找出最行的"数值"记录.
不是最行 是最新

要选择最新的数值啊,一来姓名很多,我要找很多名字的最新记录

二来通过排序得到的数据不是最新的

这个表每天有上万条的记录不断添加 我想用前10条记录的方法来提取最新记录是不可取的

rockyxiang:
vb报语法错误

按照楼主的思路应该这么写:
Select * from baidu as A
where A.name='张艺'
and A.Time=(select max(Time)
from baidu as B where A.name=B.name
and B.Date = (select max(Date)
from baidu as C
where C.name=A.name))
and A.Date=B.Date
还没测试,不过应该行. :)

为什么要这样麻烦.

SELECT * FROM BAIDU ORDER BY DATE DESC

这样第一条记录就是了.

优化楼上程序:
select top 1 * from BAIDU ORDER BY DATE DESC

SELECT top n * FROM BAIDU ORDER BY DATE DESC
取前N条数据