当前位置:首页 » 编程语言 » sql按日期分类汇总金额
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql按日期分类汇总金额

发布时间: 2023-05-13 23:06:50

sql 分日期汇总

select 部门名称,存货大类编码 , sum(case
when 日期 = 1月份 then
b.fnum
else
0
end)(1) 月份数量,
sum(case
when 日期 = 1月份 then
b.ftaxmoney
else
0
end)(1) 月份金额,
sum(case
when 日期 = 2月份 then
b.fnum
else
0
end)(2) 月份数量,
sum(case
when 日期 = 2月份 then
b.ftaxmoney
else
0
end)(2) 月份金额,
............. 3月
......... 4 月
....12月
from a inner join b on a.id=b.id
group by 部门名称,存货大类编码

自己照着写吧

❷ 如何用sql的日期函数,分别查出1月~12月每个月的销售金额

一般情况下数据是按日期存到数据库中的,但考虑到某些月份是无数据的,可用如下语句:

1、创建测试表及插入测试数据:

create table sale

(id int,

name varchar(10),

sdate datetime,

money int)


insert into sale values (1,'西瓜','2015-01-01',10)

insert into sale values (2,'香蕉','2015-01-05',20)

insert into sale values (3,'苹果','2015-02-01',60)

insert into sale values (4,'葡萄','2015-02-23',345)

insert into sale values (5,'柚子','2015-04-23',10)

insert into sale values (6,'牛奶','2015-05-12',67)

insert into sale values (7,'地瓜','2015-06-01',10)

insert into sale values (8,'薯仔','2015-07-01',10)


2、执行语句:

with t as

( select '2015-'+right('0'+cast(number+1 as varchar),2) number from master..spt_values where type='p' and number<=11 )

select t.number month,SUM(isnull(b.money,0)) money

from t left join sale b on

t.number=CONVERT(varchar(7),b.sdate,120)

group by t.number


结果截图:

❸ sql语句分别按日,按周,按月,按季统计金额

表:consume_record

字段:consume (money类型)

date (datetime类型)

请问怎么写四条sql语句分别按日,按周,按月,按季统计消费总量.

如:1月 1200元

2月 3400元

3月 2800元

--按日

selectsum(consume),day([date])fromconsume_recordwhereyear([date])='2006'groupbyday([date])

--按周quarter

selectsum(consume),datename(week,[date])fromconsume_recordwhereyear([date])='2006'groupbydatename(week,[date])

--按月

selectsum(consume),month([date])fromconsume_recordwhereyear([date])='2006'groupbymonth([date])

--按季

selectsum(consume),datename(quarter,[date])fromconsume_recordwhereyear([date])='2006'groupbydatename(quarter,[date])

当然,如果你的oracle报错:'month'函数报错,可以试试 to_char(b.PAYMENT_TIME,'yyyy-mm')

❹ SQL 怎么按时间汇总累计金额

select 日期,sum(金额) 金额 from 表名 group by 日期

❺ SQL把日期按月分类,汇总相关数据

不知道你是什么数据库,只能写个意思,具体的内容要你自己搞定。
其实就是把日期字段截取一下,如果日期本身没办法截取,那就转换一下。比如如果是oracle那么可以用to_char转换为字符型,然后再截取。如果担心1月和10月截取重复,那就多截取一位,或者查找第二个/字符的位置截取。
截取完成后,在用截取后的日期和客户分组,金额汇总求和就可以了。
我比较熟悉oracle,我用oracle的写法尝试这写一个,如果不是oracle,那么你就要自己找找类似的了。(日期也可以直接截取,不过好长时间没写忘记怎么写了,就写一个转换的吧)
select substr(to_char(日期),1,instr(to_char(日期),'/',1,2)-1) 月份,客户,sum(金额汇总) from table group by substr(to_char(日期),1,instr(to_char(日期),'/',1,2)-1) ,客户

❻ SQL 如何写语句 按客户分类,统计每年的所有金额!麻烦帮忙写一下,急!在线等

不知道您是哪个数据库,SQLSERVER可以如此写

select 客户名称,
sum(case left(交易日期,4) when '2010' then 金额 else 0 end) "2010年",
sum(case left(交易日期,4) when '2011' then 金额 else 0 end) "2011年",
sum(case left(交易日期,4) when '2012' then 金额 else 0 end) "2012年",
sum(case left(交易日期,4) when '2013' then 金额 else 0 end) "2013年"
from [table]
group by 客户名称

❼ 请问一下,SQL按日期查询,查询每一天之前的金额总和

按天累计么?
select 日期, (select sum(金额) from tb where 日期<t.日期) 日累计金额
from tb t

❽ sql 按日期汇总

参考 29、人的一生中有大大小小的等待,人渐渐忘记了自己等待的是什么。

❾ sql按照时间查询金额的总和。如2013-8-14,计算出08-01到这一天总的和。时间是变化的,为datetime 类型。

时间是变化的,为datetime 类型。就相当于是有一个变量的东西吧。

declare @d_date datetime
set @d_date = '2013-08-14' --自己可以设置的时间

declare @d_start datetime

set @d_start = convert(varchar(8),@d_date,120) + '01'表 --计算每月第一天

select sum( 总金额) from 表
where 日期 between @d_start and @d_date