【问题标题】:java.sql.SQLException: Invalid use of group functionjava.sql.SQLException:组函数的使用无效
【发布时间】:2021-12-28 03:18:41
【问题描述】:

从这个查询:

select count(*) as data, LOCATION_Name as location 
from SPECIAL_PROCEDURE_COLLECTION_FINAL_temp_final 
where sno>=6973 
  and sno<= 7251 
  and date(PAYMENT_DATE) = '2021-07-31' 
  and Procedures_Category IN ('FFA-VR') 
  and SUM(BILLED_AMOUNT)= 0 
group by LOCATION_Name

我收到此错误:

java.sql.SQLException:组函数的使用无效

有什么问题?

【问题讨论】:

    标签: java mysql sql database


    【解决方案1】:

    对账单金额总和的限制属于HAVING子句,而不是WHERE子句:

    SELECT COUNT(*) AS data, LOCATION_Name AS location 
    FROM SPECIAL_PROCEDURE_COLLECTION_FINAL_temp_final 
    WHERE sno BETWEEN 6973 AND 7251 AND
          PAYMENT_DATE >= '2021-07-31' AND PAYMENT_DATE < '2021-08-01' AND
          Procedures_Category = 'FFA-VR'
    GROUP BY LOCATION_Name
    HAVING SUM(BILLED_AMOUNT) = 0;
    

    【讨论】:

      【解决方案2】:

      您不能在 where 子句中使用聚合函数。请将您的查询更改为:

      select count(*) as data, LOCATION_Name as location 
      from SPECIAL_PROCEDURE_COLLECTION_FINAL_temp_final 
      where sno>=6973 and sno<= 7251 and 
      date(PAYMENT_DATE) = '2021-07-31' and Procedures_Category IN ('FFA-VR') 
       group by LOCATION_Name
      Having SUM(BILLED_AMOUNT)= 0
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-20
        • 1970-01-01
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 2020-07-31
        相关资源
        最近更新 更多