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

SQL把日期按月分类,汇总相关数据,第1张

不知道你是什么数据库,只能写个意思,具体的内容要你自己搞定。

其实就是把日期字段截取一下,如果日期本身没办法截取,那就转换一下。比如如果是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) ,客户

日期时间型有很多种,是 java.util.Date,java.sql.Date,java.util.Calendar,还是java.text.DateFormat

是不是要得到 20030321 这种格式的,用下面的方法就可以:

java.util.Date b=(java.util.DateGetDate() //得到日期

java.text.SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd")//设置输出格式

String today=dateFormat.format(b)//得到字符串形式的日期 20030321

int a=Integer.parseInt(today)//变成整数型

创建一个新类,用来存查询的得到的数据。属性与查询结果列数相同

在查询语句返回值里增加时间列。查询之后,给类赋值,然后将类存入链表。

遍历链表,判断月份。

分组处理。


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

原文地址: http://outofmemory.cn/sjk/9978690.html

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

发表评论

登录后才能评论

评论列表(0条)

保存