Mysql 如何执行按不同产品分组的计数查询
好的,我有这个问题Mysql 如何执行按不同产品分组的计数查询,mysql,Mysql,好的,我有这个问题 SELECT * FROM configure_system WHERE EstimateID='EDB95PY0Z2' AND StepID=1 它将返回以下8行…我需要一个查询,只返回所有不同的productID和总价以及它们的数量…例如 我想要这样的东西 ProductID ProductPrice TotalPrice quantity 2 575 1175 2 3 839
SELECT *
FROM configure_system
WHERE EstimateID='EDB95PY0Z2' AND StepID=1
它将返回以下8行…我需要一个查询,只返回所有不同的productID和总价以及它们的数量…例如
我想要这样的东西
ProductID ProductPrice TotalPrice quantity
2 575 1175 2
3 839 1678 2
9 1349 4047 3
12 1699 1699 2
我尝试使用distinct查询和计数,但没有成功您需要查看“GROUP BY”子句和“聚合函数”您需要查看“GROUP BY”子句和“聚合函数”将是这样的
SELECT productId
,count(*)
,count(*)*price
FROM [Table_1]
GROUP BY productId,Price
HAVING productId = 'blabla'
会是这样的
SELECT productId
,count(*)
,count(*)*price
FROM [Table_1]
GROUP BY productId,Price
HAVING productId = 'blabla'
在mysql的聚合查询中使用where子句正确吗?据我所知,在Sql server和oracle中也是非法的know@Jani:在这些产品中,使用带有
GROUP BY
的WHERE
子句绝对不是问题。如果尝试在where子句中使用聚合,则会出现问题。e、 g.其中COUNT(*)=1
。这是非法的,需要放在having
子句中。是的,你是对的,having用于按子句过滤分组中出现的列。在mysql的聚合查询中使用where子句是否正确?据我所知,在Sql server和oracle中也是非法的know@Jani:在这些产品中,使用带有GROUP BY
的WHERE
子句绝对不是问题。如果尝试在where子句中使用聚合,则会出现问题。e、 g.其中COUNT(*)=1
。这是非法的,需要放在having
子句中。是的,您是对的,having用于筛选在GROUPBY子句中出现的列
SELECT productId
,count(*)
,count(*)*price
FROM [Table_1]
GROUP BY productId,Price
HAVING productId = 'blabla'