【问题标题】:Get a Count and Group By in Oracle在 Oracle 中获取计数和分组依据
【发布时间】:2016-10-17 16:06:09
【问题描述】:

我有一张这样的桌子,

我想要一个

 NewsNumber Amount
   100        1555
   101        1700        

错误:ORA-00979:不是 GROUP BY 表达式

这里我试过这样,

SELECT SUM(AMOUNT)
FROM(SELECT AMOUNT
FROM TBL_NEWS_DTL
Group By NEWSNUMBER)

我的桌子
新闻编号 |代码 |数量
100                         LX        1000
101                         LQ        1200
100                          RQ        555
101                          DW       500

【问题讨论】:

    标签: mysql sql sql-server oracle


    【解决方案1】:

    在您的内部选择查询中,您选择的字段中没有按列分组。

    您也不需要内部选择。你可以这样做:

    SELECT NEWSNUMBER, SUM(AMOUNT)
    FROM MyTable
    GROUP BY NEWSNUMBER
    

    【讨论】:

      【解决方案2】:

      看起来你甚至不需要分组:

      SELECT SUM(AMOUNT)
      FROM TBL_NEWS_DTL
      

      或者你想要NEWSNUMBER

      SELECT NEWSNUMBER,SUM(AMOUNT)
      FROM TBL_NEWS_DTL
      GROUP BY NEWSNUMBER
      

      Oracle 不接受按列分组,并且不在选择列表中提及它。

      【讨论】:

        猜你喜欢
        • 2021-04-11
        • 1970-01-01
        • 2018-07-28
        • 1970-01-01
        • 1970-01-01
        • 2011-10-14
        • 2012-05-20
        • 2019-02-11
        相关资源
        最近更新 更多