我正在尝试检索库存商品列表并将它们组合在一起。到目前为止,我的查询工作非常精彩,但现在我想在向用户显示的表中添加另一列。 current_inventory
表格包含我感兴趣的五列Model
,ModelType
,ModelDoor
,NoFaucet
和Tested
。我目前的疑问是:
SELECT Model, ModelType, ModelDoor, NoFaucet, COUNT(*) AS count
FROM current_inventory
GROUP BY Model, ModelType, ModelDoor, NoFaucet'
这将显示current_inventory
表中的重复数量,并显示目前每种产品的库存量。现在我想要做的是使用Tested
列并显示当前库存中有多少产品已经过测试。例如,如果我的表看起来像这样:
+-------+-----------+-----------+----------+--------+
| Model | ModelType | ModelDoor | NoFaucet | Tested |
+-------+-----------+-----------+----------+--------+
| Epic | Soaking | Left | 0 | 1 |
| Epic | Soaking | Left | 0 | 0 |
| Zebra | Whirlpool | Right | 1 | 0 |
+-------+-----------+-----------+----------+--------+
运行查询并输出给用户时,它应如下所示:
+-------+-----------+-----------+----------+--------+--------------+
| Model | ModelType | ModelDoor | NoFaucet | Tested | CurrentStock |
+-------+-----------+-----------+----------+--------+--------------+
| Epic | Soaking | Left | No | 1 | 2 |
| Zebra | Whirlpool | Right | Yes | 0 | 1 |
+-------+-----------+-----------+----------+--------+--------------+
请注意,库存中有两种Epic
产品,其中一种已经过测试。我希望这是有道理的。我是否可以通过修改现有查询来在单个查询中完成此操作?我尝试将Testing
列添加到当前查询中,但它会将它们显示为单独的产品,这不是我想要的。
编辑:我应该明确指出1
和0
列中的Tested
和NoFaucet
是布尔值而非实际计数。
更新:感谢下面的评论我能够重新编写查询并且它有效。更新后的查询如下:
SELECT Model, ModelType, ModelDoor, NoFaucet, COUNT(*) AS count,
SUM(Tested)
FROM current_inventory
GROUP BY Model, ModelType, ModelDoor, NoFaucet'