【问题标题】:Counting Items/Rows in DB as Columns Grouped by Another Column将数据库中的项目/行计数为按另一列分组的列
【发布时间】:2014-02-07 08:47:51
【问题描述】:

我想做的基本上是:

 select Type, (Count(*) where Date='')as 10/1, (Count(*) where Date='')as 10/2
 from my table
 group by Type

我希望它看起来像:

 Type   10/1    10/2
 1      5       7
 2      3       1
 3      6       9
 4      1       3
 5      9       8

但是,当我尝试在每个计数列中运行完整选择时,我最终得到了

 Type   10/1    10/2
 1      12      15
 2      12      15
 3      12      15
 4      12      15
 5      12      15

感谢任何建议。我不确定我是否需要运行支点,但我不这么认为。此外,在我可以在任何特定的日子运行它之后,我正在考虑尝试将日期放入一个变量中并尝试在一个日期范围内运行整个事情,为其运行的每一天动态生成列。不过,我可能会为此创建一个新问题。

【问题讨论】:

    标签: sql count group-by oracle-sqldeveloper pivot-table


    【解决方案1】:

    试试这个;

    SELECT TYPE
          ,SUM(CASE WHEN MyDate = '' THEN 1 ELSE 0 END) AS [10/1]
          ,SUM(CASE WHEN MyDate = '' THEN 1 ELSE 0 END) AS [10/2]
    FROM MyTable
    GROUP BY TYPE
    

    【讨论】:

    • 这确实有效。我只需要把 [10/1] 加到末尾“As Oct1”
    猜你喜欢
    • 2021-08-26
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多