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'