sql怎么在一张表中统计已完成和未完成的人数并打印出来
时间: 2024-02-03 07:13:10 浏览: 33
可以通过使用 SQL 的 GROUP BY 子句和聚合函数 COUNT() 来实现对一张表中已完成和未完成的人数统计。
假设你的表名为 `users`,其中有一个名为 `status` 的列用来表示用户的状态,已完成的用户状态为 `completed`,未完成的用户状态为 `incomplete`,那么可以使用以下 SQL 语句来统计已完成和未完成的人数:
```
SELECT status, COUNT(*) as count
FROM users
GROUP BY status;
```
这个 SQL 语句会将 `users` 表按照 `status` 列进行分组,并统计每个分组中的行数,即已完成人数和未完成人数。最后会输出两行结果,格式如下:
```
status count
completed 10
incomplete 5
```
其中,`status` 列显示每个分组的状态,`count` 列显示每个分组中的行数,即已完成人数和未完成人数。
相关问题
用sql统计一张表里各地区人数和前六人数占比
假设表名为"people",字段包括"id"、"name"、"region",其中"id"为主键。
统计各地区人数:
```
SELECT region, COUNT(*) AS num_people
FROM people
GROUP BY region
ORDER BY num_people DESC;
```
统计前六人数占比:
```
SELECT region, COUNT(*) AS num_people,
COUNT(*) / (SELECT COUNT(*) FROM people) AS ratio
FROM people
GROUP BY region
ORDER BY num_people DESC
LIMIT 6;
```
上面的代码中,第一个查询按照地区分组,使用COUNT函数统计每个地区的人数,使用ORDER BY排序。第二个查询除了统计人数之外,还使用子查询计算总人数,然后计算出每个地区人数占比,并使用LIMIT限制结果行数为6。
用sql统计一张表内各地区人数和前六地区人数占比
可以使用以下 SQL 语句来完成这个任务:
```
SELECT 地区, COUNT(*) AS 人数, ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 4) AS 占比
FROM 表名
GROUP BY 地区
ORDER BY 人数 DESC
LIMIT 6;
```
其中,表名需替换成你要统计的表名,地区需替换成表中存储地区的列名。这个 SQL 查询会按照人数从高到低排序,并且只返回前六个地区的结果,结果会包含每个地区的人数和人数占总人数的比例。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)