如何在sql语句里计算前22行的合计值

我想查询员工一个月里前22条消费记录的合计,现在只能建个循环,挨条记录累计,这样太慢了,怎么能在sql语句直接作出合计来
这个问题困扰我很久了,如蒙提示,不胜感激

select sum(消费记录) from (select top 22 消费记录 from table) a

测试成功,给分吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-04-12
select sum(消费) from (select top 22 消费 from 表名) 名字
第2个回答  2007-04-12
在sqlserver里面:
Select
Top 22 *
From table
order by id desc

如果是Oracle,应该是:
Select *
from table
where rownum<23
order by id desc;

有了22条记录计算合计就不难了吧:)
第3个回答  2007-04-12
oracle 为例子
用sum关键字查询总和
rownum 关键字查询行
select * from (
select
sum(员工消费记录),rownum as num
from
员工表
where
月份=5
) where num>=22

月份字段根据你的设计有不同的方式实现
varcha类型的就=''
date类型的就用between and 语法

月份 between 'mou1' and 'mou2'

具体可以在去找找看..
第4个回答  2007-04-12
-- 先查出ID为1的前3个用户 ,然后在把他的PICE 值相加
select userid ,sum(newtable.pice)
from
(select top 3 * from table1 where userid ='1') as newtable
group by userid
第5个回答  2007-04-12
select top 22^^^
相似回答