题目

代码

DELIMITER //
CREATE Procedure prime(num INT)
BEGIN set @i=3; -- 为了避免&的问题,从3开始set @final='2'; -- 起始的2已经包含while @i<=num doset @m=0; -- @m定义为可以被整除的次数set @n=1; -- @n定义为当前@i值循环下的不断增大的除数while @n<=@i doset @m=@m+if(mod(@i,@n)=0,1,0); -- 记得语句后面都加;否则报错set @n=@n+1; -- @n记得+1end while;if @m=2 then -- 质数只能被1和自身整除set @final=concat(@final,'&',@i); end if;set @i=@i+1; -- @i记得+1end while;select @final;
END//
DELIMITER ;

解题心得

这道题很意外地没有花费自己太多时间,知道考查质数,一定要用到循环,所以想到最好用存储过程来实现,经过一步步完善也算顺利完成了。最后发现自己好像真的更适合写这种逻辑型的题,像python那样,简洁明了,而且思路很自然。

完结撒花

Hackerrank的58道SQL题终于刷完了,如果全部自己刷完的话总分应该是1130,因为中间有两道题参考了别人的答案,所以最后得分是1050。

经验总结

最后分享几点饱含血泪的经验教训吧。
1、hackerrank不同的题其实所用的mysql版本可能不同,这也就解释了为什么我有时候能用with as和窗口函数,有时候却不行。后来通过查看mysql版本,发现5开头的版本不支持with as,不支持窗口函数,但支持视图和存储过程。另外如果实在遇到某道题希望用8开头的版本的功能,可以试试改成DB2的语言,其实和mysql差异较小。

select version(); -- 查看mysql版本

2、看清题意,理清思路,确定方向,再去解题很重要。可以先在纸上先画一画不同的表格的连接关系,描绘希望达到的效果,后面会轻松很多。
3、尽量用简单高效的代码,不要把问题想复杂,其实也就那些知识点,在不同情景去套用就可以,后来发现其实每道题真的是有在认真考查某一个或几个知识点,所以要精练,要吃透每一道题。
4、一开始可以先简单查询了解一下题中涉及到的各个表格的大致情况,中间写的时候尽量用子表表示中间过程的结果,可以用小模块的方式写,逐步测试确认,逐步扩展。后面可以再通过关键字把几个中间过程的子表连接起来,就是最终的答案。
5、自己写出答案后,也要多去学习排名靠前的人的解法,通过学习和模仿不断反思、总结、提高,这个过程真的很重要。
6、最后也最重要的是,基本功很关键!一定要把基本的语法规则熟记于心,这样可以省去很多犯小错误运行通不过的麻烦,建议整理一个常见语法和函数等cheatsheet,真的很有用。记得时常提醒自己,就算刷了一些题,也要回头梳理一下基本的概念,通过回顾总结巩固基本功,加深全局的把控意识。

SQL刷题,procedure存储过程(hackerrank-sql-Print Prime Numbers),58道题完结撒花啦相关推荐

  1. mysql怎么刷题_面试刷题mysql1:一条sql语句是如何经过mysql的体系结构的?

    {port} -u${user} -p ,输入密码. 使用连接器连接服务端: 连接成功之后,权限修改不会影响当前连接,连接的有效期默认是8个小时: 连接之后,执行过程中使用内存会持续增加,应该定时重置 ...

  2. 「数据库」sql刷题(No.11)

    喜欢就 关注 我们吧! 简介:  Hello 各位 ,我是公号「八点半技术站」的创作者 - Bruce.D (姓氏:豆). 感谢微信给予的个人认证,专注于PHP.Go.数据库技术领域知识经验分享. 技 ...

  3. SQL刷题记录(一)

    SQL刷题记录(一) 答主刚开始自学SQL,本专栏记录的是答主在牛客上刷题的过程.疑惑和部分思路都会写在习题下方. 题目来源:牛客网刷题网址 本文内容:T195-T225 T195. select * ...

  4. 牛客网SQL刷题笔记(MySQL)

    牛客网SQL刷题笔记(MySQL) 此博客集合LeetCode.牛客网常见的题型及其解法,侵删 目录 牛客网SQL刷题笔记(MySQL) 类型1:查找排名第几的数据 SQL2 查找入职员工时间排名倒数 ...

  5. 【SQL刷题】Day9----SQL过滤数据专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接:博主主页传送门 博主专栏页面连接:专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各 ...

  6. 【SQL刷题】DAY16----SQL高级联结专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接:主页传送门 博主专栏页面连接:网络安全专栏传送么门 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给 ...

  7. 【SQL刷题】Day13----SQL分组数据专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接:博主主页传送门 博主专栏页面连接:专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各 ...

  8. sql里查询一个组和组的用户数怎么查?_【牛客网SQL刷题】留存率怎么算?

    抽空刷了牛客网SQL实战72题,最后几道以牛客网为例的题目还挺有挑战性,在此记录 统计时间段新用户次日留存率 每日的次日留存率 每日的新用户数 每日新用户的次日留存 求新登录用户次日留存 表login ...

  9. 【SQL刷题】Day6----SQL综合专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接:博主主页传送门 博主专栏页面连接:专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各 ...

  10. 【SQL刷题】Day5----SQL分组查询专项练习

     博主昵称:跳楼梯企鹅 博主主页面链接:博主主页传送门 博主专栏页面连接:专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望 ...

最新文章

  1. 遂宁专业计算机学校,遂宁计算机专业中职学校哪家强
  2. Ubuntu 7.04 相关设置
  3. 源代码文档生成 Doxygen介绍(转载)
  4. 最全知识点总结!| 大数据学习路线指南
  5. MATLAB字符串和ASCII码的转换
  6. [转]context-param和init-param区别 context-param和in...
  7. 力扣-572. 另一棵树的子树
  8. nice和renice命令详解
  9. hexo发布后样式丢失
  10. c# 拼接字符串换行_零基础小白学习:python之最详细字符串篇
  11. 实验二 Linux下Vi编辑器的使用
  12. 万网域名注册、域名解析与备案流程
  13. DEFCON 20 CTF 磁盘取证分析题目
  14. 寻找“最好”(6)——心的距离
  15. “北上广深”的“收租婆”角色什么时候能够减少?
  16. react类组件中父组件调用子组件函数
  17. luogu P1941 飞扬的小鸟
  18. 服务器托管到机房与放在本地的区别
  19. HRM人力资源管理平台项目分享
  20. Noise2Noise: 实验总结——测试简记【去高斯噪声、去文本噪声】

热门文章

  1. 、谷歌离线地图开发教程
  2. Max(TM)仓库管理系统v2.0.5.1网络版
  3. Azkaban的安装部署
  4. python做计量经济学的书籍_《计量经济学》教材书单
  5. broadcom linux网卡驱动下载,Broadcom Bcm57xx芯片网卡驱动Linux下安装方法
  6. 计算机键盘指示灯不亮也不启动不了机,电脑开不开机,显示器无反应,键盘指示灯不亮,主...
  7. 突破灰色按钮原理讲解
  8. cad工具箱详细讲解_AutoCAD学院派工具箱(XCAD)使用教程(图文解说)
  9. smarty capture使用
  10. 杰·亚伯拉罕的产品营销35种策略完整版