【问题标题】:group function in where clause giving errorwhere 子句中的 group 函数给出错误
【发布时间】:2015-12-25 19:11:39
【问题描述】:
SELECT
    pro.`Name`,
    pro.idProduct,
    COUNT(DISTINCT pur.idPurchase) AS Sales
FROM
product AS pro
INNER JOIN purchase pur ON pur.idProduct = pro.idProduct
WHERE pro.idUser = '54c26fdac8f5c'
AND COUNT(DISTINCT pur.idPurchase) > '2'
GROUP BY pro.idProduct

我正在尝试获取所有购买量大于 2 的产品,所以我在 where 子句中尝试了这个以添加此组功能

COUNT(DISTINCT pur.idPurchase) > '2'

但是我收到了这个错误

组函数的使用无效

【问题讨论】:

  • 将聚合条件 COUNT(DISTINCT pur.idPurchase) > 2 移到have子句中

标签: mysql count group-by where


【解决方案1】:

试试这个:

SELECT
pro.`Name`,
pro.idProduct,
COUNT(DISTINCT pur.idPurchase) AS Sales
FROM
product AS pro
INNER JOIN purchase pur ON pur.idProduct = pro.idProduct
WHERE pro.idUser = '54c26fdac8f5c'
GROUP BY pro.`Name`, pro.idProduct
HAVING COUNT(DISTINCT pur.idPurchase) > '2'

【讨论】:

  • @user3365992:- 不客气。如果对您有帮助,您可以接受答案。(单击时绿色对勾变为绿色)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
  • 2014-10-19
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多