【问题标题】:SQL count return codes by dateSQL 按日期计算返回码
【发布时间】:2016-01-18 13:22:37
【问题描述】:

我的问题是:我每天有多少不同类型的返回码。 所以我必须转换这个输入数据:

Date    Code
17JAN2016   200
17JAN2016   200
17JAN2016   200
17JAN2016   210
16JAN2016   230
16JAN2016   230
16JAN2016   230

变成这样:

        17JAN2016   16JAN2016
200     4           null
210     1           null
230     null        3
240     null        null

我会很感激任何想法。

【问题讨论】:

    标签: sql count pivot


    【解决方案1】:

    做一个GROUP BY。使用CASE表达式进行条件计数:

    select code,
           count(case when Date = '17JAN2016' then 1 end) as "17JAN2016",
           count(case when Date = '16JAN2016' then 1 end) as "16JAN2016"
    from tablename
    group by code
    

    注意事项:

    1. 可能需要根据 dbms 产品(和列数据类型)调整日期比较。

    2. date 是 ANSI SQL 中的保留字,因此您可能需要将其分隔为 "date"。 (就像以数字开头的列别名一样。)

    【讨论】:

      猜你喜欢
      • 2021-05-06
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 2015-05-08
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      相关资源
      最近更新 更多