首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用窗口函数检查SQL中是否填写了特定的范围值?

如何用窗口函数检查SQL中是否填写了特定的范围值?
EN

Stack Overflow用户
提问于 2020-01-08 20:05:59
回答 1查看 41关注 0票数 0

我正在做一个项目,在这个项目中,我们应该评估供应商,在这个数据库中,我有这个表

代码语言:javascript
运行
复制
+------+---------------------+------------+-----------+
| Id   | EvaluationMethodId  | FromScore  | ToScore   |                       
+------+---------------------+------------+-----------+
| 1    |       2             |     1      |    20     |
| 2    |       2             |     21     |    50     |
| 3    |       2             |     51     |    70     |
| 4    |       2             |     71     |    100    |
| 5    |       3             |     1      |    20     |
| 6    |       3             |     31     |    40     |
+------+---------------------+------------+-----------+

这张表对分数进行了分类,我可以肯定的是

范围值填充1到100 (就像上面的示例一样)。

我正在寻找这样的东西:

代码语言:javascript
运行
复制
+---------------------+------------+
| EvaluationMethodId  |    Sum     |                      
+---------------------+------------+
|       2             |     100    |
|       3             |     30     |
+---------------------+------------+

这是我尝试的方式:

代码语言:javascript
运行
复制
WITH myUpdate
AS (SELECT emg.Id,emg.EvaluationMethodId,
           SUM(emg.ToGrade - emg.FromGrade) + 1 AS SumScope
    FROM generalsup.EvaluationMethodGrading emg
    GROUP BY emg.Id,emg.EvaluationMethodId)
SELECT myUpdate.EvaluationMethodId, SUM(myUpdate.SumScope) AS SumScopeAll
FROM myUpdate
GROUP BY myUpdate.EvaluationMethodId;

但我使用窗口函数,它对服务器的开销较小。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-08 21:38:22

由于分数中没有重叠的情况,因此可以使用

代码语言:javascript
运行
复制
select EvaluationMethodId, sum(ToScore - FromScore + 1) [Sum]
from EvaluationMethodGrading 
group by EvaluationMethodId

请参阅

演示

..。

结果:

代码语言:javascript
运行
复制
> EvaluationMethodId | Sum
> -----------------: | --:
>                  2 | 100
>                  3 |  30
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59645519

复制
相关文章

相似问题

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