Sql 将数据库中的项目/行计数为按另一列分组的列
我想做的基本上是:Sql 将数据库中的项目/行计数为按另一列分组的列,sql,count,group-by,oracle-sqldeveloper,pivot-table,Sql,Count,Group By,Oracle Sqldeveloper,Pivot Table,我想做的基本上是: 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 然而,当我尝试
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
如有任何建议,我们将不胜感激。我不确定我是否需要运行枢轴,但我不这么认为。此外,在我可以为任何特定的一天运行它之后,我考虑尝试将日期放入一个变量中,并尝试为一个日期范围运行整个过程,为运行的每一天动态生成列。不过,我可能会为此提出一个新问题。试试这个
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]添加到“作为Oct1”的末尾