返回介绍

solution / 1300-1399 / 1308.Running Total for Different Genders / README

发布于 2024-06-17 01:03:21 字数 2711 浏览 0 评论 0 收藏 0

1308. 不同性别每日分数总计

English Version

题目描述

表: Scores

+---------------+---------+
| Column Name   | Type  |
+---------------+---------+
| player_name   | varchar |
| gender    | varchar |
| day       | date  |
| score_points  | int   |
+---------------+---------+
(gender, day)是该表的主键(具有唯一值的列的组合)
一场比赛是在女队和男队之间举行的
该表的每一行表示一个名叫 (player_name) 性别为 (gender) 的参赛者在某一天获得了 (score_points) 的分数
如果参赛者是女性,那么 gender 列为 'F',如果参赛者是男性,那么 gender 列为 'M'

 

编写解决方案统计每种性别在每一天的总分。

返回按 gender 和 day 对查询结果 升序排序 的结果。

查询结果格式的示例如下。

 

示例 1:

输入:
Scores表:
+-------------+--------+------------+--------------+
| player_name | gender | day    | score_points |
+-------------+--------+------------+--------------+
| Aron    | F    | 2020-01-01 | 17       |
| Alice     | F    | 2020-01-07 | 23       |
| Bajrang   | M    | 2020-01-07 | 7      |
| Khali     | M    | 2019-12-25 | 11       |
| Slaman    | M    | 2019-12-30 | 13       |
| Joe     | M    | 2019-12-31 | 3      |
| Jose    | M    | 2019-12-18 | 2      |
| Priya     | F    | 2019-12-31 | 23       |
| Priyanka  | F    | 2019-12-30 | 17       |
+-------------+--------+------------+--------------+
输出:
+--------+------------+-------+
| gender | day    | total |
+--------+------------+-------+
| F    | 2019-12-30 | 17  |
| F    | 2019-12-31 | 40  |
| F    | 2020-01-01 | 57  |
| F    | 2020-01-07 | 80  |
| M    | 2019-12-18 | 2   |
| M    | 2019-12-25 | 13  |
| M    | 2019-12-30 | 26  |
| M    | 2019-12-31 | 29  |
| M    | 2020-01-07 | 36  |
+--------+------------+-------+
解释:
女性队伍:
第一天是 2019-12-30,Priyanka 获得 17 分,队伍的总分是 17 分
第二天是 2019-12-31, Priya 获得 23 分,队伍的总分是 40 分
第三天是 2020-01-01, Aron 获得 17 分,队伍的总分是 57 分
第四天是 2020-01-07, Alice 获得 23 分,队伍的总分是 80 分

男性队伍:
第一天是 2019-12-18, Jose 获得 2 分,队伍的总分是 2 分
第二天是 2019-12-25, Khali 获得 11 分,队伍的总分是 13 分
第三天是 2019-12-30, Slaman 获得 13 分,队伍的总分是 26 分
第四天是 2019-12-31, Joe 获得 3 分,队伍的总分是 29 分
第五天是 2020-01-07, Bajrang 获得 7 分,队伍的总分是 36 分

解法

方法一

# Write your MySQL query statement below
SELECT
  gender,
  day,
  SUM(score_points) OVER (
    PARTITION BY gender
    ORDER BY gender, day
  ) AS total
FROM Scores;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文