Mysql 在聚合sql语句中插入where条件

Mysql 在聚合sql语句中插入where条件,mysql,sql,Mysql,Sql,我一直试图在我的聚合sql语句中放入一个“where”子句 我想要的是得到数量的总和,并且只显示那些销售数量在30或更少(包括零)的人。 我试着把它放在“开”的部分,但没有用 SELECT p.id, p.names,p.image, coalesce(sum(o.qty), 0) as sum_product_qty from products p left join orders_item o on p.id = o.product_id a

我一直试图在我的聚合sql语句中放入一个“where”子句

我想要的是得到数量的总和,并且只显示那些销售数量在30或更少(包括零)的人。 我试着把它放在“开”的部分,但没有用

SELECT p.id, p.names,p.image, coalesce(sum(o.qty), 0) as sum_product_qty 
from products p left join orders_item o on p.id = o.product_id                        
and date(o.datesales) <= curdate() and date(o.datesales) >= curdate() - interval 6 day  and
sum_product_qty <= 30 group by p.id, p.names order by sum_product_qty desc
选择p.id、p.name、p.image、coalesce(总和(o.qty)、0)作为总和产品数量
从产品p左连接订单\ p.id上的项目o=o.product\U id
和日期(o.datesales)=curdate()-间隔6天和

求和产品数量尝试使用
having
子句

SELECT p.id, p.names,p.image, coalesce(sum(o.qty), 0) as sum_product_qty 
from products p left join orders_item o on p.id = o.product_id 
and date(o.datesales) <= curdate() and date(o.datesales) >= curdate() - interval 6 day
group by p.id, p.names order by sum_product_qty desc HAVING sum_product_qty <= 30;
选择p.id、p.name、p.image、coalesce(总和(o.qty)、0)作为总和产品数量
从产品p左连接订单\ p.id上的项目o=o.product\U id
和日期(o.datesales)=curdate()-间隔6天

按p.id分组,p.names按总和产品数量订购desc具有总和产品数量尝试使用
HAVING
子句代替

SELECT p.id, p.names,p.image, coalesce(sum(o.qty), 0) as sum_product_qty 
from products p left join orders_item o on p.id = o.product_id 
and date(o.datesales) <= curdate() and date(o.datesales) >= curdate() - interval 6 day
group by p.id, p.names order by sum_product_qty desc HAVING sum_product_qty <= 30;
选择p.id、p.name、p.image、coalesce(总和(o.qty)、0)作为总和产品数量
从产品p左连接订单\ p.id上的项目o=o.product\U id
和日期(o.datesales)=curdate()-间隔6天

按p.id分组,p.names按总和产品数量排序desc有总和产品数量使用
HAVING
筛选聚合的组

SELECT p.id,
       p.names,
       p.image,
       COALESCE(SUM(o.qty), 0) AS sum_product_qty
FROM products p
LEFT JOIN orders_item o 
     ON p.id = o.product_id
     AND date(o.datesales) <= curdate()
     AND date(o.datesales) >= curdate() - interval 6 DAY
GROUP BY p.id,
         p.names,
         p.image
HAVING COALESCE(SUM(o.qty), 0) <= 30
ORDER BY COALESCE(SUM(o.qty), 0) DESC
选择p.id,
p、 姓名,
p、 形象,,
合并(总和(o.qty),0)作为总和产品数量
来自产品p
左连接订单\项目o
在p.id=o.product\U id上
和日期(o.datesales)=curdate()-间隔6天
按p.id分组,
p、 姓名,
p、 形象

合并(总和(o.qty),0)使用
HAVING
筛选聚合组

SELECT p.id,
       p.names,
       p.image,
       COALESCE(SUM(o.qty), 0) AS sum_product_qty
FROM products p
LEFT JOIN orders_item o 
     ON p.id = o.product_id
     AND date(o.datesales) <= curdate()
     AND date(o.datesales) >= curdate() - interval 6 DAY
GROUP BY p.id,
         p.names,
         p.image
HAVING COALESCE(SUM(o.qty), 0) <= 30
ORDER BY COALESCE(SUM(o.qty), 0) DESC
选择p.id,
p、 姓名,
p、 形象,,
合并(总和(o.qty),0)作为总和产品数量
来自产品p
左连接订单\项目o
在p.id=o.product\U id上
和日期(o.datesales)=curdate()-间隔6天
按p.id分组,
p、 姓名,
p、 形象

HAVING COALESCE(SUM(o.qty),0)返回一个错误>使用near'HAVING SUM_product_qty尝试使用此方法,HAVING子句必须位于groupby
SQL选择p.id,p.names,p.image,COALESCE(SUM(o.qty),0)作为p左连接订单上的产品p项目o的SUM_数量p.id=o.product_id和日期(o.datesales)=curdate()-间隔6天按p.id分组,p.names有sum\u product\u数量它返回了一个错误>使用near'HAVING sum\u product\u数量的右语法尝试使用此方法,HAVING子句必须位于group by
SQL选择p.id,p.names,p.image,coalesce(sum(o.qty),0)作为产品p左连接订单上的sum\u数量o项目o p.id=o.product\u id和日期(o.datesales)=curdate()-按p.id、p.names和产品数量分组的间隔6天