Mysql projects表`status` int DEFAULT NULL COMMENT '项目状态:1未开始,2进行中,3已完成,4搁置,5已结项',根据status计算每种状态个数

发布时间 2023-09-06 15:28:29作者: 小小菜鸟04

要根据MySQL中projects表的status字段计算每种状态的数量,你可以使用`GROUP BY`和`COUNT`函数进行分组和计数。

以下是一个示例的查询语句:

```sql
SELECT status, COUNT(*) as count
FROM projects
GROUP BY status;
```

此查询将根据status字段对projects表进行分组,并计算每个状态的数量。结果将包含两列:status列显示状态代码,count列显示相应状态的数量。

如果你想要具体的状态描述而不仅是状态代码,可以对status字段进行解析和映射。这可以通过使用`CASE`语句来实现:

```sql
SELECT
CASE
WHEN status = 1 THEN '未开始'
WHEN status = 2 THEN '进行中'
WHEN status = 3 THEN '已完成'
WHEN status = 4 THEN '搁置'
WHEN status = 5 THEN '已结项'
ELSE '未知状态'
END AS status_description,
COUNT(*) AS count
FROM projects
GROUP BY status;
```

在这个查询中,我们使用`CASE`语句将每个状态代码映射到相应的状态描述,并在结果中显示。如果状态代码没有匹配的映射,将显示"未知状态"。

希望对你有所帮助!