mysql - COUNT(CASE WHEN) SQL 中的重复行

标签 mysql sql-server duplicates rows multiple-columns

这里是 SQL 初学者用户。

我需要我的 table 看起来像这样:

ModuleID | Draft | Proposed | Committed | Total
---------------------------------------------
A        |    1  |    0     |     1     | 2

目前看起来像这样:

ModuleID | Draft | Proposed | Committed | Total
---------------------------------------------
A        |    1  |    0     |     1     | 1
A        |    0  |    0     |     1     | 1

这是代码:

SELECT T3.NAME AS ModuleID, 
   COUNT(CASE WHEN T4.LITERAL_NAME = 'Draft' THEN 1 END) AS Draft,
   COUNT(CASE WHEN T4.LITERAL_NAME = 'Proposed' THEN 1 END) AS Proposed,
   COUNT(CASE WHEN T4.LITERAL_NAME = 'Committed' THEN 1 END) AS Committed,
   SUM(1) AS Total

FROM ...
WHERE ...

GROUP BY T4.LITERAL_NAME,T3.NAME

所以它提取了正确的信息,但它复制了每列的模块 ID。我已经搜索了董事会和谷歌,但无法弄清楚出了什么问题。请帮忙!

最佳答案

GROUP BY T4.LITERAL_NAME,T3.NAME

更改为

GROUP BY T3.NAME

关于mysql - COUNT(CASE WHEN) SQL 中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997026/

相关文章:

php - 为 foreach() "Invalid Argument"提供的参数无效

sql - 索引 View 和执行计划

linux - 如何复制/dev/ttyUSB0流?

hadoop - Hbase表复制

php - 数据库结构 : Finding and marking similar entries

php - 每个查询有两个循环

python - Flask-paginate 在一页上显示所有结果

sql-server - 释放未使用的内存sql server 2014内存优化表

sql - 如何获取表变量的行数?

asp.net-mvc - 对一个 MVC View 使用两个强类型模型