zoukankan      html  css  js  c++  java
  • oracle分组查询实例ORA-00979和ORA-00937错误分析

    select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中-->
      		from JZPZXX J
      		<where>
      		<if test="zwjgh != null">J.ZWJGH = #{zwjgh} </if>
      		<if test="cwnydate != null">and  J.CWNY = #{cwnydate}</if>
      		<if test="startdate !=null and startdate!=''"> and J.LRRQSJ &gt; #{startdate}</if>
      		<if test="enddate !=null and enddate!=''"> and J.LRRQSJ &lt;#{enddate}</if>
      		and J.JZZT = '1'
      		</where>
      		group by J.ZWJGH,J.JZPZH , J.CZZXBH,J.JZZT,J.CWNY
    

    ORA-00979 不是 GROUP BY 表达式”这个错误,和我前面介绍的另外一个错误ORA-00937一样使很多初学oracle的人爱犯的。

    我在介绍使用聚合函数中用group by来分组数据时特别说明了select 列表项中不存在的列可以出现在group by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)

    但一些朋友经常爱把select 列表项的中列忘了写在group by中。于是就出现了以上的错误ORA-00979 不是 GROUP BY 表达式。

    ORA-00937
    sum是分组函数,不能和distinct合用,实际上分组函数已经起了distinct的作用.正确的写法是
    select shop_area_code, sum(cash/100) from ... group by shop_area_code

  • 相关阅读:
    从1到n中找到任意num个数的和为sum的所有组合
    算法导论5.12
    使用c++技术实现下载网页
    算法导论5.13
    感慨
    算法导论2.37
    [转载]Yahoo!的分布式数据平台PNUTS简介及感悟
    Bigtable 论文笔记
    GFS 论文笔记
    MapReduce论文笔记
  • 原文地址:https://www.cnblogs.com/gjmfg/p/5489566.html
Copyright © 2011-2022 走看看