不知道你是什么数据库,只能写个意思,具体的内容要你自己搞定。 其实就是把日期字段截取一下,如果日期本身没办法截取,那就转换一下。比如如果是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) ,客户
风中的歌声
2024-05-01 04:30:53
设表格式为:tablename(id int,qty decimal(12,4),datex datetime) 则按DATEX字段以15天为周期对qty进行汇总的语句如下: --测试通过: select dateadd(day,dayx*15,0) as [区间开始日期],qty as [15日合计],countx as 汇总行数 from ( select floor(datediff(day,0,datex)/15.0) as dayx,sum(qty) as qty,count(1) as countx from tablename group by floor(datediff(day,0,datex)/15.0) ) a --请注意,日期0表示1900-01-01,该例中的几个零就是指起始计算日期,这里是从1900-01-01为基准计算相距为15天的日期,您也可以换成其它日期,如2008-01-01,表示开始计算时间为08年1月1日