我有这张table:
输入
我想把它转换成另一个表,包含
日期/标识/顺序列(主键列)
totalcount列,包含原始表的count列的值,其中所有cond列都为null
每个condx列有一个count列,包含原始表的count列的值,其中condx=1,cond=null的其余部分
非空(cond1或cond2或cond3)+(conda或condb)的每个组合的一个计数列,包含原始表的计数列的值,其中两个适用的cond=1,其余的=null
示例:
基本上,我希望我的新表有以下列:
日期、id、订单、总数
cond1计数,cond2计数,cond3计数,condacount,condbcount
cond1和condacount,cond1和condbcount,cond2和condacount,cond2和condbcount。。。
从示例图像中,我们将得到以下值:
期望输出
(注:order=2的condbcount=0,在图像版本中丢失)
如果有的话,我会展示一些sql,但实际上我不太确定从哪里开始解决这个问题。我可以天真地做很多不同的事情 SELECT Count WHERE ...
,但我想知道是否有更好的解决办法。
1条答案
按热度按时间kd3sttzy1#
没有你的table结构。您可以使用sum&values对多个列求和,即使与
CASE
例子: