MySQL
文章平均质量分 58
超时空contact
疯狂进阶中……
展开
-
SQL刷题,procedure存储过程(hackerrank-sql-Print Prime Numbers),58道题完结撒花啦
题目代码DELIMITER // CREATE Procedure prime(num INT)BEGIN set @i=3; -- 为了避免&的问题,从3开始 set @final='2'; -- 起始的2已经包含 while @i<=num do set @m=0; -- @m定义为可以被整除的次数 set @n=1; -- @n定义为当前@i值循环下的不断增大的除数 while @n<=@i do原创 2022-05-07 19:03:10 · 901 阅读 · 0 评论 -
SQL刷题,advanced join(hackerrank-sql-Interviews)
题目hackerrank-sql-Interviews本人的解法尝试了一番后,发现这道题的关键在于理清各个表格之间的关系,注意连接的关键字,还有一对多的关系。最后用了left join进行challenges表格和View_Stats以及Submission_Stats的连接,并用了ifnull将null改成0,其他连接用的join。主要需要注意View_Stats以及Submission_Stats中有些challenge_id是缺失的。select Con.contest_id, Con.ha原创 2022-05-05 15:16:11 · 481 阅读 · 0 评论 -
SQL刷题,advanced join,窗口函数(hackerrank-sql-Symmetric Pairs)
题目本人的解法一-- 先用窗口函数给数据加上行号,之后用两个表格连接,多个筛选条件with t1 as(select row_number() over(order by X) as rn, X, Y from Functions)select distinct t1.X, t1.Yfrom t1 join t1 t2on t1.X=t2.Y and t1.Y=t2.X and t1.rn!=t2.rnwhere t1.X<=t1.Yorder by t1.X;本人的解法原创 2022-04-28 21:12:22 · 368 阅读 · 0 评论 -
SQL刷题,多表连接(hackerrank-sql-Placements)
题目终于刷到54/58题了,胜利在望,今天状态还不错,一下写出来了,貌似还比大神的简洁一些,窃喜。话不多说,直接上题。鄙人的解法按照题目中的提示先把大的表格查询出来,再比较和过滤,比较简单。select t2.Name from(select t1.*, P1.Salary as FSfrom(select S.ID, S.Name, P.Salary, F.Friend_ID as FIDfrom Students S, Friends F, Packages Pwhere S.原创 2022-04-27 17:26:14 · 489 阅读 · 0 评论 -
SQL刷题,再次接近崩溃,自己写的和高手写的为什么差那么多(hackerrank-sql-SQL Project Planning)
hackerrank-sql-SQL Project Planning题目我的解法用的窗口函数select t6.Start_Date, t6.end_date_newfrom(select t5.Start_Date, t5.end_date_new, datediff(end_date_new, t5.Start_Date) as numfrom(select t4.Start_Date,case when t4.End_Date<=t4.c then t4.cwhen原创 2022-04-26 16:16:31 · 231 阅读 · 0 评论