文章目录

  • 1. 题目
  • 2. 解题

1. 题目

表: 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’

写一条SQL语句查询每种性别在每一天的总分,并按性别和日期对查询结果排序

下面是查询结果格式的例子:

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 分

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/running-total-for-different-genders
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:LeetCode MySQL 1204. 最后一个能进入电梯的人(累加/变量/窗口函数)

# Write your MySQL query statement below
select s1.gender, s1.day, sum(s2.score_points) total
from Scores s1, Scores s2
where s1.gender = s2.gender and s1.day >= s2.day
group by s1.day, s1.gender
order by s1.gender, s1.day

1104 ms

  • 变量法
# Write your MySQL query statement below
select gender, day, case gender when 'F'then @prePointF := @prePointF + score_pointselse @prePointM := @prePointM + score_pointsend as total
from Scores, (select @prePointF := 0, @prePointM := 0) temp
order by gender, day

466 ms

  • 窗口函数
# Write your MySQL query statement below
select gender, day, sum(score_points) over (partition by gender order by day) total
from Scores
order by gender, day

549 ms


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)相关推荐

  1. MySql力扣VIP面试题:1308. 不同性别每日分数总计 + 1204. 最后一个能进入电梯的人

    转载: 声明:如果我侵犯了任何人的权利,请联系我,我会删除 欢迎高手来喷我 文章目录 1308. 不同性别每日分数总计 题解 1204. 最后一个能进入电梯的人 题解 1308. 不同性别每日分数总计 ...

  2. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 25丨不同性别每日分数总计【难度中等】​

    [未来的你,会感谢今天努力的你]每日两题,一难一易,每天进步一点点,可能会直接导致一场面试的成功,或工作的轻松搞定,从而升职加薪迎娶白富美,加油小伙伴!

  3. LeetCode MySQL 1204. 最后一个能进入电梯的人(累加/变量/窗口函数)

    文章目录 1. 题目 2. 解题 1. 题目 表: Queue +-------------+---------+ | Column Name | Type | +-------------+---- ...

  4. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  5. 【LeetCode】2022 7月 每日一题

    [LeetCode]2022 7月 每日一题 前言 七月太忙了,又是项目又是练车又是各种比赛.大概有10天的每日一题没有当天写完(虽然后面补上了). 将每日一题的所有思路记录在这里分享一下. 7.1 ...

  6. mysql不同分数的人数,mysql如何统计每个专业分数段的人数

    mysql如何统计每个专业分数段的人数 发布时间:2020-03-20 15:02:26 来源:亿速云 阅读:532 作者:小新 mysql如何统计每个专业分数段的人数的呢?下面由亿速云小编给大家详细 ...

  7. 《C语言及程序设计》实践参考——分数的累加

    返回:贺老师课程教学链接  项目要求 [项目1:分数的累加] 编程序,输出1/3-3/5+5/7-7/9-+19/21的结果 提示:如果直接解决上面的问题有困难,可以设计一条"由易到难&qu ...

  8. 《C语言及程序设计》实践參考——分数的累加

    返回:贺老师课程教学链接  项目要求 [项目1:分数的累加] 编程序.输出1/3-3/5+5/7-7/9-+19/21的结果 提示:假设直接解决上面的问题有困难.能够设计一条"由易到难&qu ...

  9. 分数阶累加的Python实现

    分数阶累加的Python实现 分数阶累加是分数阶差分的逆运算,它不仅可用于分数阶差分方程的分析 ,也可以用于建立分数阶灰色模型.然而许多初学者在动手实现分数阶灰色模型时经常发现非常困难,究其原因其实是 ...

最新文章

  1. win10系统80端口被System (PID=4)占用的解决
  2. python3 数据库操作 orm sqlalchemy 简介
  3. asp.net错误.在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错...
  4. ROS系统实现 tf坐标系广播与监听
  5. P1628 合并序列
  6. vc++6.0 同步本机时间到Internet NTP服务器 编译通过
  7. c++ char*转string_CC++|输入输出与内存、缓存、设备文件
  8. 内置类型存储空间(32位机参考)
  9. JSF Struts Spring Hibernate 整合
  10. 根据输入的出生日期计算到今天之间的天数
  11. .rdlc 文件设置方向_在Word里面怎么设置把字竖着打出来?
  12. 控制台程序转化为windows服务
  13. 基于大数据技术推荐系统算法案例实战教程
  14. 《晨间日记的奇迹》内容概要及读书心得
  15. 运放输入偏置电流方向_运算放大器+仪表放大器:如何为偏置电流提供直流回路?...
  16. AM437X系列编译环境搭建
  17. [转]中国古代兵事纵横谈[强文]
  18. HBuilder开发App教程
  19. 18.8.17 考试总结
  20. jquery实现图片拖动

热门文章

  1. 【机器学习】XGBoost集成算法——(理论+图解+python代码比较其他算法使用天池蒸汽数据)
  2. All-In-One Code Framework [一站式示例代码库] 【转】
  3. LeetCode872. Leaf-Similar Trees
  4. 织梦文章添加字段填栏目id,内容页调用字段里的栏目文章
  5. 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
  6. python开发【基础二】
  7. 逆袭之旅.DAY08东软实训.多态~
  8. 用MS SQL Server事件探查器来跟踪数据库的操作
  9. 哇、、、、C++ 实现单向链表
  10. C语言结构体用法很多,坑也很多