计算市场上有多少产品。
查询只返回第一个结果,我想要每个产品的inMarketsQuantity
。
这是查询:
Select product.Name As productName,
Count(marketProducts.ProductId) As inMarketsQuantity
From products As product
Join market_products As marketProducts On product.Id = marketProducts.ProductId
Join markets As market On marketProducts.MarketId = market.Id
结果如下:
+---------------+-------------------+
| productName | inMarketsQuantity |
+---------------+-------------------+
| Playstation 3 | 15 |
+---------------+-------------------+
这就是我所期待的:
+---------------+-------------------+
| productName | inMarketsQuantity |
+---------------+-------------------+
| Playstation 3 | 10 |
+---------------+-------------------+
| Xbox | 5 |
+---------------+-------------------+
我已经尝试过以下查询,但我收到 SQL错误(1064):
Select product.Name As productName,
Distinct(Count(marketProducts.ProductId)) As inMarketsQuantity
[...]
答案 0 :(得分:1)
尝试按ProductId
分组:
Select product.Name As productName,
Count(marketProducts.ProductId) As inMarketsQuantity
From products As product
Join market_products As marketProducts On product.Id = marketProducts.ProductId
Join markets As market On marketProducts.MarketId = market.Id
GROUP BY marketProducts.ProductId
答案 1 :(得分:0)
Select product.Name As productName,
Count(marketProducts.ProductId) As inMarketsQuantity
From products As product
Join market_products As marketProducts On product.Id = marketProducts.ProductId
Join markets As market On marketProducts.MarketId = market.Id GROUP BY product.Name