栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【SQL篇:踩坑日记(oracle):一】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【SQL篇:踩坑日记(oracle):一】

不知道小伙伴们是否有在sql 中使用过  以下类似代码: 

select case when xxx='1' then t1.name
            when xxx='2' then t1.address end as groupCol,
       sum(t1.xxx) as x,sum(t1.xx) as xx
* from stuent t1
group by case when xxx='1' then t1.name
            when xxx='2' then t1.address end 

上面这段代码呢, 是根据不同的条件进行的分组统计 . 在之前一个项目使用的是公司的一套框架,没有使用myBatis 框架. 执行起来也OK .完全满足条件. 

奇怪的事情就发生在昨天. 在myBatis 中同样的用法.  控制台打印的SQL. 在PLSQL 中执行没有问题. 但是在代码中运行报 字段不是分组函数. 让我很是震惊 .由于时间没有深入去了解具体是什么原因.

后面就使用了另外一种方式来进行替换.

select
      
          
              jg.dsswjgmc as swjgmc,
          
      
      
          
              jg.qxswjgmc as swjgmc,
          
      
count(jb.XMBH) as XMSL
from table jg
 
          
              jg.dsswjgmc
          
      
      
          
              jg.qxswjgmc
          
      

以上就是此次遇到的问题 .希望能帮到大家. 也希望有明白原因的可以给我评论留言, 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274129.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号