在SQL中基于列值将不同的行添加为新行和新列值

伊恩

我完全愿意承认我做错了,但这就是这种情况。我得到了这样的一张桌子:

qtr    cust_type      cust_cnt           

QTR1   new_cust       100
QTR1   return_cust    50 
QTR2   new_cust       150  
QTR2   return_cust    75

并且我正在尝试为每个qtr创建一个新的cust_type行,以显示其他cust_types的组合数量,作为最终结果:

qtr    cust_type      cust_cnt           

QTR1   new_cust       100
QTR1   return_cust    60 
QTR1   total_cust     160
QTR2   new_cust       150  
QTR2   return_cust    75
QTR2   total_cust     225

我到底为什么要这样做?原因不是很好-Tableau对于如何输入信息以形成特定的图形类型非常挑剔。

是否有一些SQL语法可以完成第二张图?我似乎无法弄清楚。我对SQL也很陌生:D

卢卡斯·索兹达(Lukasz Szozda)

您可以使用:

SELECT qtr, cust_type, cust_cnt   
FROM tab
UNION ALL
SELECT qtr, 'total_cust' AS cust_type, SUM(cust_cnt) AS cust_cnt
FROM tab
GROUP BY qtr
ORDER BY qtr, cust_cnt;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章