首页 > 其他分享 >记jdbcTemplate使用的一个坑

记jdbcTemplate使用的一个坑

时间:2023-07-20 09:55:05浏览次数:36  
标签:count 一个 timestamp mater score jdbcTemplate 使用 avg select

1、在使用jdbcTemplate时,语句不能使用 select *  ,不然可能就是这样的错误:
Incorrect column count: expected 1, actual 6

2、如果像这样的外层嵌套,应该去掉外层 select *,

语句:

select * from (
select mater_score.mater_no as materNo,city,town,
    mater_score.avg as avgScore, 
    if(@score = mater_score.avg, @count, @count := @count + 1) cityRank
from ( 
    select mater_no,city,town,
sum(if(`timestamp` = 202303, score, 0)) as `202303`, 
sum(if(`timestamp` = 202304, score, 0)) as `202304`, 
sum(if(`timestamp` = 202305, score, 0)) as `202305`, 
sum(if(`timestamp` = 202306, score, 0)) as `202306`, 
        avg(score) as `avg`
    from t_kpi_fg_pool_mater_star_month
 where `timestamp` in (202303,202304,202305,202306) and fk_kpi_id in('GSF12024') 
 and major='集客维护'
    group by mater_no,city,town
    order by `avg` desc
) mater_score, 
(select @count := 0, @score := null) t 
) t

不然虽然加了类型转换,结果也不是你想要的,对象字段会是空的

jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<>(MaterViewMonthReportVO.class));

仅记录一下,不做深入探究了。

标签:count,一个,timestamp,mater,score,jdbcTemplate,使用,avg,select
From: https://www.cnblogs.com/mxm2005/p/17567500.html

相关文章

  • 修正fpc(lazarus)BufDataSet.Filter使用中文字段名称时过滤无效的Bug
    最近使用fpc(lazarus)BufDataset的Filter遇到中文字段名称时过滤无效的问题,曾尝试将中文字段名加双引号或中括号,但仍然不行。经跟踪Bufdataset源码发现dbf_prsore.pasFilter没正确识别中文引起的,修正这个问题比较简单:打开/fpcsrc/packages/fcl-db/src/dbase/dbf_prsore.pas定位83......
  • 将json格式的数据快速转换为excel,使用在线工具轻松搞定
    标准的json数据是可以转成excel表格方便阅读的,excel是行列的数据表格也可以转换成json格式数据。 https://uutool.cn/json2excel/ 只要把需要转换的json复制到工具框内,点击转换按钮即可秒转成excel文件。 本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。首发......
  • excel的vlookup函数的使用
    VLOOKUP函数的三种应用场景,同表,跨表,跨工作簿查询注意事项:查找的那一列必须是查找范围的首列,可以使用f4快捷键,防止查询不到  特别注意:格式一定要正确......
  • 寒心!一个开发者就这样离开了!
    阅读文本大概需要2.8分钟。今天一早,就看到这么一条消息「刚刚,我们失去了一位开发者」,看完之后非常寒心,非常气愤。内容是WePhone(一款国际网络电话App)的开发者苏享茂被其前妻翟欣欣威胁,被索赔1000万,最后被逼无奈,选择自杀,目前已被证实。看完这个消息第一感觉是,其前妻翟欣欣真乃......
  • 宣布下,一个小的里程碑!
    阅读本文大概需要3.8分钟。之前很多人总是问我这个号多少读者,很多第三方分析网站得出我这个号有四五十万的读者,但是今天给大家透漏个实话,就在昨天,我这个号的读者上升到了一个小的里程碑。是的,你没看错,我这个号只有20w读者而已,没有外面分析的那么夸张。很多人对公号的数据比较敏......
  • PostgreSQL explain使用
    1.概述PostgreSQL为每个收到的查询产生一个执行计划,这个执行计划是一个非完全的二叉树。通过这个执行计划,DBA或者应用人员可以清晰的了解到某个SQL在数据库中的预估的执行情况以及实际的执行情况,也能根据执行计划中资源的消耗判断性能的瓶颈点,从而对该SQL进行有针对性的优化。下......
  • 代码管理工具git的使用
    1.git概述git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。2. git工作流程图工作流程图如图所示,黄色部分为工作区,index为暂存区,Repository为......
  • 使用Canal同步mysql数据到es
    一、简介Canal主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。当前的canal支持源端MySQL版本包括5.1.x,5.5.x,5.6.x,5.7.x,8.0.x二、工作原理MySQL主备复制原理MySQLmaster将数据变更写入二进制日志(binarylog,其中记录叫做二进制日志事件bin......
  • Docker--了解及基础使用篇
    Docker--了解及基础使用篇Docker架构:Docker包括三个基本概念:镜像(Image):Docker镜像(Image),就相当于是一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对......
  • 红帽系统的使用centos的源镜像
    背景介绍:红帽系统的不能使用centos的源镜像。重新安装yum工具让红帽系统可以使用centos的源。 查看系统版本cat/etc/redhat-release 1.卸载旧的yum工具rpm-qa|grepyum|xargsrpm-e--nodeps(不检查依赖,直接删除rpm包)rpm-qa|greppython-urlgrabber|xargsrpm-......