将数据库中同一用户的各类分数相加

该博客介绍了如何通过SQL查询和Java代码实现统计数据库中同一用户在不同时间段的自评价分数,包括获取每月自评价日期、计算各评分项总和,并在服务层将各日期的评分相加。解决方案涉及到了数据库查询优化和数据处理逻辑。
摘要由CSDN通过智能技术生成

应用场景:一个月内,每隔两周的周三会进行自评价,现需要做一个月报表,统计自评价截止上月累计评价分、本月评价分_未提交、本月评价分_未评价、本月评价分_优秀、本月评价分_小计、截止本月累计评价分,且编制时可自动带出。

解决方案:

1、通过sql获取每个月的自评价提交日,统计月份作为参数,返回当月评价日期字符串,以“,”连接

Dao 文件:public String findZpjDate(Date month);

xml文件:

<select id="findZpjDate" resultType="String">
        select wm_concat(to_char(send_date, 'yyyy-mm-dd'))
          from sys_date
         where send_flag = 1
           and to_char(send_date, 'yyyy-mm') = to_char(#{countTime}, 'yyyy-mm')
           and del_flag = 0
         order by send_date

</select>

2、将每个评价日期传入,得到当期评价分

dao:public List<WeekScoreZpjDet> findWeekScoreZpjDetList(String preMonth,String month);

xml:

<select id="findWeekScoreZpjDetList" resultType="weekScoreZpjDet">
        SELECT uu.id AS "user.id",
           uu.name AS "user.name",
           case
             when uu.gender = '2' then
              '女'
             else
              '男'
           end as "gender",

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值