当前位置: 首页 > news >正文

建设网站需要哪些流程免费注册跨境电商

建设网站需要哪些流程,免费注册跨境电商,wordpress 需要空间,网站运行速度慢大家经常自嘲后端开发就是crud boy嘛#xff0c;今天给大家看一道SQL题#xff0c;我相信很多人写不出来。我们来看一下这个题目。 create table course (id int primary key,name varchar(32) not null ); create table student (id int primary key,name varchar(32) not …大家经常自嘲后端开发就是crud boy嘛今天给大家看一道SQL题我相信很多人写不出来。我们来看一下这个题目。 create table course (id int primary key,name varchar(32) not null ); create table student (id int primary key,name varchar(32) not null ); create table score (id int primary key,course_id int not null,student_id int not null,score int not null );这三张表也是我经常在面试里面有问到的这三张表的含义是非常好理解的但是基于这三张表可以研发出来很多复杂的业务场景SQL面试题。我们先初始化一些课程信息和学生分数信息。 insert into course values(1,语文),(2,数学),(3,外语); insert into student values(1,小张),(2,小王),(3,小马); insert into score values(1,1,1,80),(2,2,1,90),(3,3,1,70); insert into score values(4,1,2,70),(5,2,2,90),(6,3,2,80); insert into score values(7,1,3,80),(8,2,3,60),(9,3,3,70);总分最高的学生 求总分最高的学生他的分数是多少这个题目其实是有一些歧义的是总分最高呢还是单科最高呢作为面试的你对于题意本身理解不清晰的情况下你应该反问面试官而不是直接就开始写。 我们把这两种情况都来写一下先求总分最高的学生找到这个score表那既然是总分我们肯定要用sum函数那既然用到sum那是不是要做一个分组基于什么分组呢目标是要求总分最高的学生自然想到应该基于student_id去分组通过score表按照student_id分组我们就能拿到总分及相应的student_id但怎么查到学生的名字呢 很多同学很自然而然就想到去join这个student的表但是这里隐藏一个问题就是总分最高的可能不止一个学生我们是通过总分进行的分组分组后只能取到其中某一个student_id。那应该怎么去做呢其实还要再去查一遍这个score表把相应取得这个总分的学生的所有id都查出来然后再去跟student的做一个连接这样才能查出完整的数据。这个思路清晰了之后我们的SQL语句步骤如下: 查出最高分 select sum(score) from score group by student_id order by sum(score) desc limit 1查出最高分所有的学生ID。 select distinct(student_id) from score group by student_id having sum(score)(select sum(score) from score group by student_id order by sum(score) desc limit 1) join学生信息表得到获得最高分的学生信息 select s.name,t.score from student s right join (select distinct(student_id), sum(score) from score group by student_id having sum(score) (select sum(score) from score group by student_id order by sum(score) desc limit 1)) t on s.id t.student_id单科最高的学生 大家想一下单科最高的话应该是要通过课程去分组同样的获取每个单科分数最高的学生可能也不止一个所以分组后你还要去跟score再去做一次连接基于course id跟max score再去连一下score表从而得到每一科最高分的学生的id。 所以这个问题也是分三步第一步就是通过course id去分组查到单科的最高分第二步就是通过这个score表再去跟这个最高分和对应的课程id去进行right join。这里为什么是right join 大家可以思考一下这样就查到了取得这个课程最高分的所有学生这一步写出来了其实最后就很简单了去连接两个学生表跟课程表就能拿到学生的名字跟课程的名字得到最终的SQL语句: select s.name,c.name,s2.max_score from score s1 right join (select max(score) max_score,course_id from score group by course_id) on s1.course_id s2.course_id and s1.scores2.max_score left join course c on c.id s1.course_id left join student s on s.id student_id虽然大部分互联网公司这种自动化的SQL生成器也并不建议在系统里面去做连接查询但是也有很多情况比如说产品、运营要拉一些数据排查一些线上问题确实要去写一些比较复杂的CQL而且你能写出这个SQL代表你有两个能力第一个就是你对业务本身理解是比较到位的第二个就是你Sql本身的功底也是比较扎实的。 互联网行业不景气但切莫心浮气躁打牢基本功才能厚积薄发 关注公众号【小白技术圈】回复f04即可获得2023最新全套面试资料
http://wiki.neutronadmin.com/news/128321/

相关文章:

  • 谁能帮我做网站生活中的科技产品有哪些
  • 家具定制东莞网站建设手机排行榜zol
  • 云起时网站建设万网董事长是谁
  • 网站首页不见怎么做高端网站设计
  • 网站建设的活怎么接茶的网站制作
  • 登录不了建设银行网站屏显的企业网站应该怎么做
  • 深网站建设php二次网站开发步骤
  • 许昌做网站公司汉狮价格深度网营销型网站建设公司怎么样
  • 网站建设乙方义务酒店网站的规划与建设方案
  • 国外ps网站wordpress音乐盒
  • 重庆网站建设优斗士深圳住房和建设局网站首页
  • 企业网站设计源代码如何查看网站的外链
  • 网站不清理缓存安阳住房与城乡建设局官方网站
  • 你的网站赚钱吗百度如何建设自己的网站
  • 免费推广网站教程国家信息网
  • 微信小程序做网站响应式网站模板的优势
  • 网站备案网站建设方案杭州网络公司网站建设
  • h5 做的网站 价格网络营销专业如何
  • 企业网站建设有名 乐云seo网站运行需求
  • 塘厦网站仿做网站根目录有哪些
  • 江苏省城乡建设局网站首页优畅 wordpress
  • 学院的网站怎么做江西雄基建设网站
  • 专业的手机网站建设公司排名专门做二手手机的网站吗
  • 网站用静态域名解析做网站不给源码吗
  • 优化推广网站怎么做最好网站使用帮助
  • 移动网站建设价格便宜有比wordpress更好的吗
  • 12306网站建设超30亿海口网站建设费用
  • 用什么软件做网站模板wordpress 广告主题
  • 微信商城开发推荐华网天下seo建设
  • 如何做做网站用typecho做的网站