我是sql新手。我需要sql查询来实现上述输出。我问过一个类似的问题,但这并不能很好地描述我的问题。这是我的详细要求。
我有一个数据表如下
Table: boxes
+------------+----------+
| box_id | Status |
+------------+----------+
| 1 | created |
| 2 | created |
| 3 | opened |
| 4 | opened |
| 5 | closed |
| 6 | closed |
| 7 | closed |
| 8 | wrapped |
+------------+----------+
还有一个状态名 destroyed
但这并没有摧毁盒子。
我需要这样的输出
+--------------+-------+
| Status | Count |
+--------------+-------+
| created | 2 |
| opened | 2 |
| destroyed | 0 |
| other_status | 4 | # this includes status (closed and wrapped)
| total | 8 |
+--------------+-------+
如何在sql中实现这一点。提前谢谢
2条答案
按热度按时间eqfvzcg81#
如果您使用的是mssql或mysql8.0,那么您可以使用下面的cte来实现所需的输出-
此处演示
afdcj2ne2#
您可以尝试以下代码。