我在表格中有这些数据:
+-------------+-------+----------------+
| id | Added | Removed | Date |
+-------------+-------+----------------+
| 1 | yes | yes | 06-19-2016 |
| 2 | yes | yes | 06-19-2016 |
| 3 | yes | false | 06-19-2016 |
| 4 | false| yes | 09-19-2016 |
| 5 | yes | yes | 09-19-2016 |
| 6 | false| false | 10-19-2016 |
| 7 | false| yes | 10-19-2016 |
| 8 | yes | false | 10-19-2016 |
| 9 | false| yes | 11-19-2016 |
+-------------+-------+-----------------+
我知道日期的总添加和删除记录就像
Date TotalRecordAdded TotalRecordRemoved
06-19-2016 3 2
09-19-2016 1 2
10-19-2016 1 1
11-19-2016 0 1
获取此结果的SQL Server查询是什么?
答案 0 :(得分:2)
您可以使用CASE EXPRESSION
进行条件聚合:
SELECT t.date,
COUNT(CASE WHEN t.added = 'yes' THEN 1 END) as TotalRecordAdded,
COUNT(CASE WHEN t.removed = 'yes' THEN 1 END) as TotalRecordRemoved
FROM YourTable t
GROUP BY t.date