首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用CASE表达式旋转数据

用CASE表达式旋转数据
EN

Stack Overflow用户
提问于 2020-04-18 18:15:28
回答 1查看 80关注 0票数 1

我有以下查询,它获取商店、周数和销售产品的总和:

代码语言:javascript
运行
复制
select *
from 
(
  select store, week, xCount
  from yt
) src
pivot
(
  sum(xcount)
  for week in ([1], [2], [3])
) piv;

用CASE表达式可以得到相同的结果吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-18 18:17:56

您可以使用条件聚合进行枢轴,如下所示:

代码语言:javascript
运行
复制
select 
    store, 
    sum(case when week = 1 then xcount else 0 end) week1,
    sum(case when week = 2 then xcount else 0 end) week2,
    sum(case when week = 3 then xcount else 0 end) week3
from yt
group by store

与特定于数据库的pivot语法相比,我更倾向于条件聚合:

在大多数数据库中,条件聚合比pivot

  • the语法更加灵活,因此portable

  • performance通常更等价于

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61294004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档