发布网友 发布时间:2024-10-22 09:33
共2个回答
热心网友 时间:2024-11-13 23:18
假设日期是字符类型,表达形式如200902
select 金额,
sum(case when right(日期,2)>='1' and right(日期,2)<='3' then 金额 else 0 end ) as 第一季度,
sum(case when right(日期,2)>='4' and right(日期,2)<='6' then 金额 else 0 end ) as 第二季度,
sum(case when right(日期,2)>='7' and right(日期,2)<='9' then 金额 else 0 end ) as 第三季度,
sum(case when right(日期,2)>='10' and right(日期,2)<='12' then 金额 else 0 end ) as 第一季度
from dgd
group by 日期,金额
热心网友 时间:2024-11-13 23:16
“订购日期”为日期型
“金额”为数值型
“季度”为数值型
1、在dgd表中,添加(季度,N,6,0)字段
use dgd
repl all 季度 with year(订购日期)*10+int(month(订购日期))/3.1) &&将日期转换成某年季度:如2009年2月10日,“季度”字段的值为20091
index on 季度 to 季度 &&按季度建索引,这步不能省
TOTAL TO 季度金额 ON 季度 金额
use 季度金额 &&生成的新表
brow &&打开查看
2、用sele语句
SELECT INT(MONTH(表1.rq)/3.1)+1, SUM(表1.sl);
FROM 表1;
GROUP BY 1;
ORDER BY 1;
into table 季度金额