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

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:31:45
我想查询员工一个月里前22条消费记录的合计,现在只能建个循环,挨条记录累计,这样太慢了,怎么能在sql语句直接作出合计来
这个问题困扰我很久了,如蒙提示,不胜感激

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

测试成功,给分吧

select sum(消费) from (select top 22 消费 from 表名) 名字

在sqlserver里面:
Select
Top 22 *
From table
order by id desc

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

有了22条记录计算合计就不难了吧:)

oracle 为例子
用sum关键字查询总和
rownum 关键字查询行
select * from (
select
sum(员工消费记录),rownum as num
from
员工表
where
月份=5
) where num>=22

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

月份 between 'mou1' and 'mou2'

具体可以在去找找看..

-- 先查出ID为1的前3个用户 ,然后在把他的PICE 值相加
select userid ,sum(newtable.pice)
from
(select top 3 * from table1 where userid ='1') as newtable
group by userid

select top 22^^^