qq123 发表于:2012-07-25 16:59:45
表 成绩 查询结果: 和下一名的差值
第一名 99 32
第二名 67 -1
第三名 68 2
第四名 66 -6
第五名 72
请根据上述成绩表求ACCESS的查询公式,生成查询数据表以求获取和下一名差值的数据
select *,[成绩]-dmax("成绩","tbname","成绩<" & [成绩]) as 差值 from tbname
你的公式得出的差值全是正数,对不上啊。
如果是股票类似上面的,我想查连续3天涨幅,5天涨幅,N天涨幅。那就得不出正确的数据了
day 股票代码 名称 现价
25-Jul-12 002689 博林特 7.19
24-Jul-12 002689 博林特 6
23-Jul-12 002689 博林特 5
22-Jul-12 002689 博林特 4.2
21-Jul-12 002689 博林特 6
20-Jul-12 002689 博林特 3
19-Jul-12 002689 博林特 2
18-Jul-12 002689 博林特 1.8
17-Jul-12 002689 博林特 1.7
16-Jul-12 002689 博林特 1.6
老汉的方法是可以得出符合要求的结果,但当数据量比较大时,就会非常慢了。
要结果又要速度的还是要用子查询吧!
例如:Select *,[分数]-(Select Top 1 [分数] From 成绩 As 成绩_1 Where 成绩_1.[名次]> 成绩.[名次]) From 成绩
总记录:4篇 页次:1/1 9 1 :