【问题标题】: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
    

    这样,如果条件被验证,则该项目将被计数,否则不会。

    告诉我

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多