繁体   English   中英

计算每一轮的总跑动次数,我还想要第一轮和第二轮的总和。 表结构如下

[英]Calculate Total Runs For Each Over & I Also Want Sum of First & Second Over. Table Structure is Given Below

**源表:- Cricket_Scores **

超过 跑步
1个 1个 1个
1个 2个 2个
1个 3个 4个
1个 4个 0
1个 5个 1个
1个 6个 2个
2个 1个 3个
2个 2个 1个
2个 3个 1个
2个 4个 4个
2个 5个 6个
2个 6个 0

我想要 Output 应该如下所示:-

超过 跑步
1个 10
2个 25

10 分:-(前 6 个球的总分,超过一分)和 25 分:-(前 6 个球的总分 + 第二个 6 个球)

或者

像下面这样的东西:-

超过 跑步
1个 10
2个 15

10 分:-(前 6 个球的总分,超过一分)和 15 分:-(后 6 个球的总分)

如何在 Oracle/SQL Developer 中编写查询。

GROUP BY the over s 和SUM runs以获得 runs-per-over:

SELECT over,
       SUM(runs) AS runs_per_over
FROM   cricket_scores
GROUP BY over

然后使用解析 function 来获取运行总计:

SELECT over,
       SUM(SUM(runs)) OVER (ORDER BY over) AS total_runs
FROM   cricket_scores
GROUP BY over

其中,对于示例数据:

CREATE TABLE cricket_scores( Over, Balls, Runs ) AS
SELECT 1, 1, 1 FROM DUAL UNION ALL
SELECT 1, 2, 2 FROM DUAL UNION ALL
SELECT 1, 3, 4 FROM DUAL UNION ALL
SELECT 1, 4, 0 FROM DUAL UNION ALL
SELECT 1, 5, 1 FROM DUAL UNION ALL
SELECT 1, 6, 2 FROM DUAL UNION ALL
SELECT 2, 1, 3 FROM DUAL UNION ALL
SELECT 2, 2, 1 FROM DUAL UNION ALL
SELECT 2, 3, 1 FROM DUAL UNION ALL
SELECT 2, 4, 4 FROM DUAL UNION ALL
SELECT 2, 5, 6 FROM DUAL UNION ALL
SELECT 2, 6, 0 FROM DUAL;

输出:

超过 TOTAL_RUNS 个
1个 10
2个 25

小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM