SQLserver2005如何查询数据库中某一段时间内某个字段的累加和

SQLserver2005如何查询数据库中某一段时间内某个字段的累加和,第1张

select CONVERT(varchar(12) , 日期字段,112 ),sum(累加字段) from 表名 where 日期字段 between '2013-01-01' and '2013-01-31' group by CONVERT(varchar(12) , 日期字段,112 )

日期区间我用的1月1号到1月31号,你自己改一下吧

你说的是不是自动增长列呀。

create table tableName(

id int identity(1,1)

)

或者在企业管理器里,选择你要改的表,然后右键进入表结构在

底下就可以改了

如果只是简单的累加的话

select sum(money) from a;

如果是逐条累加的话,麻烦:

用sqlserver写个存储过程,中间有很多知识,好好学学吧!

不知道你是什么数据库,看到看窗函数大概是oracle吧,其实只要置0就可以了,oracle的话用nvl就行,就是在你的b1查询的时候,在sum的外边加一层nvl函数nvl(sum(),0)这样的话后面就不是null而是0了,就可以和1相加了。

如果不想这么做,那么直接在最后加也可以,就是在最后相加的时候,在d_amount的外面加一层,nvl函数,这样就可以了。比如d_count+nvl(d_mount,0)就可以了。

如果是其他数据库,那么也有相应的函数,我记得有nullif什么的,记得不清楚,你根据自己的数据库自己找找吧。

是不是需要一次性用SQL语句从工资表里检索出下列效果?

姓名 基本工资 奖金 其他 三金 实发金额

张三 1000 1000 200 300 1900

李四 1200 800 100 300 1800

王五 2200 800 300 300 3000

合计 4400 2600 600 900 6700

汇总那条记录一般由应用程序端解决,而不是在数据库端解决,这样会比较有效率。

如果如果一定要一次性在数据库端用SQL语句解决的话,SQL代码可以这样写:

select t姓名,t基本工资,t奖金,t其他,t三金,t实发金额 from

(select 姓名,基本工资,奖金,其他,三金,

(基本工资+奖金+其他-三金) as 实发金额,1 as px from 工资表

union all

select '合计',sum(基本工资),sum(奖金),sum(其他),sum(三金),

sum(基本工资+奖金+其他-三金),2 from 工资表)t

order by tpx

注意为了加强上述SQL代码的可读性,我写成多行形式,在应用程序里运行则应该改写为一行,否则运行可能出错。

以上就是关于SQLserver2005如何查询数据库中某一段时间内某个字段的累加和全部的内容,包括:SQLserver2005如何查询数据库中某一段时间内某个字段的累加和、SQL数据库中 如何让某一列的值自动累加1、sql查询累加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9784147.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存