首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按国家和指标计算SQL分区的市场和条件

按国家和指标计算SQL分区的市场和条件
EN

Stack Overflow用户
提问于 2020-11-24 07:13:05
回答 1查看 233关注 0票数 1

我有一个数据集,在其中我必须按国家和索引计算Server分区的市场总量,并在此条件下进行索引:

如果按国家计算,指数仅为1,则指数产出为0,如果按国家分列的index=>1,则将取市值之和,而不取指数1的市值。

要明确的是,如果指标值仅为1,则指标值应为0,如果指数为1且大于1,则将取市值之和,而不包括指数1的市值。

输入:

代码语言:javascript
复制
Country Index Market  
--------------------
India    1     100
US       1     200
UK       7     400
US       6     600
UK       3     800

输出:

代码语言:javascript
复制
Country Index Market  IndMark
----------------------------
India    1     100        0
US       1     200      600
UK       7     400     1200
US       6     600      600
UK       3     800     1200

我试过使用下面的SQL查询,但它没有给我预期的结果。

代码语言:javascript
复制
SELECT 
    Country, Index, Market,
    SUM(Market) OVER (PARTITION BY Country, (Index > 1) AS IndMark
FROM 
    table
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-24 07:28:35

使用SUM()窗口函数:

代码语言:javascript
复制
SELECT *,
       COALESCE(SUM(CASE WHEN [Index] > 1 THEN [Market] END) OVER (PARTITION BY [Country]), 0) [IndexMark] 
FROM tablename

演示

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

https://stackoverflow.com/questions/64981759

复制
相关文章

相似问题

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