mysql - 从库存中获取可用设备的 SQL 语句

标签 mysql sql sql-server

我有一个表 equipment,其中包含 namedescriptionstatus

这是显示所有行时我的表格的样子:

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

关于mysql - 从库存中获取可用设备的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881304/

相关文章:

php - PHP 中的表单选项可发布到 MySQL 数据库

mysql - 如何使用 where 子句的 select 更新字段?

php - Redis 比 MySQL 慢

sql - 如何获取下一个/上一个记录号?

sql-server - ASP.NET MVC 4 - 使用 Linq 读取数据库一次并使用多次

SQL Server 2008 - 对于 XML 路径非常慢

php - 无法使用 array_shift() 获得结果

SQL Server - 比较同一表中不同行中的多个列

mysql - SQL 更新 - 更改字符串

SQL Server 从查询返回的表中选择作为表名列表