【问题标题】:Get count of a column as well as value of column with specific condition for each group获取每组的列数以及具有特定条件的列的值
【发布时间】:2017-06-09 09:38:25
【问题描述】:
我正在使用 sqlserver 2012,
我有一个包含 column1 和 column2 以及其他列的表格,
我想获取 column1 的计数以及与特定条件匹配的 column2 的值对于每个组
条件是 column2 like '%page1%'
select COUNT(column1) FROM MyTable group by column1
我应该在这个查询中添加什么。
提前谢谢.....
【问题讨论】:
标签:
sql
sql-server-2012
count
group-by
【解决方案1】:
在 COUNT 中使用 CASE WHEN 条件:
SELECT
totC1 = COUNT(CASE WHEN column1 > 0 THEN 1 ELSE NULL END) ,
totC2 = COUNT(CASE WHEN column2 > 0 THEN 1 ELSE NULL END) ,
totC3 = COUNT(CASE WHEN column3 > 0 THEN 1 ELSE NULL END) ,
totC4 = COUNT(CASE WHEN column4 > 0 OR YourCondition = 1 THEN 1 ELSE NULL)
FROM YOUR_TABLE
这样,如果条件被验证,则该项目将被计数,否则不会。
告诉我