Mysql 从库存中获取可用设备的SQL语句
我有一个表Mysql 从库存中获取可用设备的SQL语句,mysql,sql,sql-server,Mysql,Sql,Sql Server,我有一个表设备,其中列有名称,说明,状态 这是显示所有行时我的表的外观: id name description status 1 shovel shiny shovel 1 2 shovel shiny shovel 1 3 shovel shiny shovel 0 4 hammer big hammer 1 5 hammer big hammer 0 这是我现在拥有的SQL语
设备
,其中列有名称
,说明
,状态
这是显示所有行时我的表的外观:
id name description status
1 shovel shiny shovel 1
2 shovel shiny shovel 1
3 shovel shiny shovel 0
4 hammer big hammer 1
5 hammer big hammer 0
这是我现在拥有的SQL语句:
SELECT equipment.name, equipment.description, COUNT(*) AS stock
FROM equipment
GROUP BY equipment.name
它显示了以下内容:
name description stock
shovel shiny shovel 3
hammer big hammer 2
我想显示另一列,显示状态为1的设备数量
name description stock available
shovel shiny shovel 3 2
hammer big hammer 2 1
您就快到了:只需对状态字段进行汇总,如下所示:
SELECT
equipment.name,
equipment.description,
COUNT(*) AS stock,
SUM(status) as available
FROM equipment
GROUP BY
equipment.name,
equipment.description
您就快到了:只需对状态字段进行汇总,如下所示:
SELECT
equipment.name,
equipment.description,
COUNT(*) AS stock,
SUM(status) as available
FROM equipment
GROUP BY
equipment.name,
equipment.description
这里的诀窍(在SQL Server和MySQL中适用)是使用条件SUM()
而不是COUNT()
如果status
只能是1
或0
,则您可以将其相加:
SELECT ..., SUM(status) as available
这里的诀窍(在SQL Server和MySQL中适用)是使用条件SUM()
而不是COUNT()
如果status
只能是1
或0
,则您可以将其相加:
SELECT ..., SUM(status) as available