mysql - 组值mysql
问题描述
假设我有一个格式为 [prodName, status] 的表日志
一个示例集是:
| ProdName | Status
|-----------------------
| AXD1 | 100
| BL1 | 100
| AXD2 | 300
| BL2 | 300
| AXD1 | 300
| AXD2 | 100
| BL1 | 100
| BL1 | 100
我将按状态分组结果,其中 100 表示成功,300 表示不成功。所以结果是这样的。
| ProdName | Success | Not
|-----------------------
| AXD1 | 1 | 1
| BL1 | 3 | 0
| AXD2 | 1 | 1
| BL2 | 0 | 1
解决方案
您可以使用case
表达式来查找一行是否成功,然后计算它们:
SELECT ProdName,
COUNT(CASE Status WHEN 100 THEN 1 END) AS "Success",
COUNT(CASE Status WHEN 300 THEN 1 END) AS "Not Success"
FROM mytable
GROUP BY ProdName
推荐阅读
- python - Django:在我的 Django 应用程序中使用 JSON 和请求
- javascript - 从 nextjs 中的 getStaticProps 调用数据库
- sql-server - 如何完成此查询以删除复制然后删除数据库?
- python-2.7 - 验证 Cloudformation 模板时 cfn-lint 失败
- java - MapStruct 有没有办法在类级别为未知值定义默认枚举策略?
- django - 如何在 Django 中返回自定义响应/状态代码?
- r - 检查变量是否是 R 中特定函数的结果
- java - 从 if 语句中打印多行到控制台
- c# - RemoveEventHandler 在 IText7 中不起作用
- airflow - Apache 气流的端到端管道测试