墨天轮社区的 SQL 挑战赛活动一直受到大家的欢迎,本次我们联合阿里云瑶池数据库带来全新的参赛模式,赛题升级为三道,按照综合结果发奖。此外,阿里云瑶池数据库还为大家提供了 3 个月免费的 RDS MySQL Serverless 资源,参赛的同时还能体验云上开发的便利性。当前距离活动结束还有一周的时间,欢迎各位朋友踊跃参与!
01
赛事奖池
最佳 SQL 奖( 1 人)
挑战三个赛题并给出正确结果截图+SQL 源码+解题思路的参与者可参与评选,根据提交时间、 SQL 写法、SQL 性能、解题思路综合评选, 获胜者获得价值 799 元的 Beats Studio Buds 耳机 1 个。
优质 SQL 奖(20 人)
挑战任意一个赛题并给出正确结果截图+SQL 源码+解题思路的参与者有机会获得 20 元猫超卡,根据提交时间、 SQL 写法、SQL 性能、解题思路综合评选,每人限 1 张
阳光普照奖
挑战任意一个赛题并提交结果(不要求结果正确)+SQL 源码的参与者可获得墨天轮100墨值奖励。
02
赛事时间轴
5月29日 - 6月18日:参与者按照赛题要求前往阿里云领取 RDS MySQL Serverless 免费资源 并自写 SQL
6月26日:主办方宣布完整获奖名单及领奖方式
03
活动赛题
本文仅展示赛题本身,数据集下载地址及示例可点击文末“阅读原文”获取。
赛题 1:找出各项考试中的佼佼者
表: Student
Column Name | Type |
---|---|
id | int |
name | varchar |
Id是该表的主键列。
该表的每一行都表示学生的ID和姓名。
表: Test
Column Name | Type |
---|---|
id | int |
name | varchar |
Id是该表的主键列。
该表的每一行表示考试ID和考试名。
表: TestAttempt
Column Name |
Type |
id |
int |
studentId |
int |
testId |
int |
score |
int |
Id是该表的主键列。
studentId和testId分别是Student表和Test表中id的外键。
该表的每一行表示一次考试记录,并包含了学生和考试的id。
一个学生可以参加任意考试,不限次数。
现在我们关注的是每门考试有哪些顶尖的学生。一门考试的 顶尖学生 是指一个学生的分数在参加该考试的 不同 学生中 得分排名前三 。
编写一个SQL查询,找出每个考试中 得分最高的的考生。
若同一个考生有多条考试记录,则取最高分。
如果存在并列,将并列的考生都列举出来,直到列举的考生达到或超过三人。
以 每门考试考试分数从高到低的顺序 返回结果表。
赛题 2:游戏游玩情况
Table: Activity
Column Name |
Type |
player_id |
int |
device_id |
int |
event_date |
date |
games_played |
int |
(player_id,event_date)是此表的主键。
这张表显示了某些游戏的玩家的活动情况。
每一行是一个玩家在指定日期的游玩记录,包含了设备信息,以及总共玩了多少款游戏。
编写一个 SQL 查询,报告在首次游玩后的一周内至少再有一次游玩的玩家的比例,也就是注册首周内至少有两次登录的玩家占总玩家的比例,四舍五入到小数点后两位。
赛题 3:计算三角形面积
表: Triangle
Column Name |
Type |
id |
int |
pointId1 |
int |
pointId2 |
int |
pointId3 |
int |
id是该表的主键列。
该表的每一行包含三角形三个顶点的信息,pointId1、pointId2、pointId3均指向Point表的id字段。
表:Point
Column Name |
Type |
id |
int |
x |
double |
y |
double |
z |
double |
id是该表的主键列。
该表的每一行包含一个点的三维空间坐标。
写一个SQL查询,计算每个三角形的面积,保留两位小数。
04
提交结果及要求
您需要先在阿里云开通 RDS MySQL Serverless 免费试用资源后才能使用 DMS 执行 SQL(文末含资地址及执行操作教程),此后需将答案以文章形式发布在墨天轮社区,且需加上“阿里云sql挑战赛”标签。
文中需提交如下内容:
DMS 截图(必选):需包含执行的 SQL 语句,输出结果,以及耗时信息(如截图)
SQL 源码(必选):与 DMS 截图中一致的 SQL 源码文字版
解题思路(可选):您是如何思考题目及得出结果的,也欢迎您向我们反馈产品使用体验,字数 50 字以上,按内容质量评选最佳 SQL 奖
05
最佳 SQL 奖评选标准
前提条件:挑战三个赛题并给出正确结果截图+SQL 源码+解题思路
评选标准:
提交时间:占比 5%,按照挑战三道赛题并提交 DMS 截图、SQL 源码、解题思路三项内容的时间排序,提交时间越早,得分越高
SQL 写法:占比 35%,按照 SQL 简洁度、安全性、规范性、可扩展性等进行打分,使用AliSQL特性酌情加分
SQL 性能:占比 35%,按照 DMS 给出的耗时进行评分,三道赛题综合耗时越短,得分越高
解题思路:占比 25%,按照内容详实度、新颖性进行评分
—— 活动规则说明 ——
本活动仅面向 RDS MySQL Serverless 免费试用资源用户开放,参与者需要先免费开通 RDS MySQL Serverless 实例后才能提交参赛结果。如参与者已经是云数据库 RDS 用户或曾经购买过云数据库 RDS ,将无法参与本次活动,阿里云免费试用规则详见免费试用频道-活动规则。
-
本次赛事为参与者准备了三道赛题,参与者需要至少完成其中一道赛题才可参与奖项评选,提交结果需至少包含 DMS SQL 结果截图及 SQL 源码,如参与者要冲刺优质 SQL 奖、最佳 SQL 奖奖项,需要额外提交解题思路,具体要求请见“赛事奖池”及“赛事流程”两个部分。 -
每人最多可以提交一次执行结果,如参与者提交多次结果,以第一次为准,请参与者在6月18日 24:00 前提交结果。 -
除非有相反证据证明外,参与者参与活动所获得的全部权益和相应责任,均归属于参与活动的该墨天轮账号所对应的实名认证主体。 -
墨天轮可以根据活动的实际情况对活动规则进行变动或调整,相关变动或调整将公布在活动页面上,并于公布时即时生效;但不影响参与者在活动规则调整前已经获得的权益。 -
为保证活动的公平公正,如参与者在活动中存在隐瞒、虚构、作弊、欺诈或通过其他非正常手段规避活动规则、获取不当利益的行为,例如:作弊领取、恶意套现、网络攻击、虚假交易等,墨天轮有权收回相关权益、取消参与者的活动参与资格,撤销违规交易,必要时追究违规用户的法律责任。
相关资料:
https://free.aliyun.com/?pipCode=mysql&utm_content=m_1000372358
点击蓝字获取赛题数据集及示例
本文分享自微信公众号 - 墨天轮(enmocs)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。