zoukankan      html  css  js  c++  java
  • 面试题:sql数据查询

    前几天参加一个面试,面试公司让做一套题,sql题不是很难,但是我第一次还是写错了,回来后,重新写了下。简单记录下吧,

    1.题目:

    2.测试数据

    select * from student ;
    
    
    insert into student(name,subject,score) values('张','语文',96) ;
    insert into student(name,subject,score) values('张','数学',62) ;
    insert into student(name,subject,score) values('张','英语',85) ;
    insert into student(name,subject,score) values('王','语文',12) ;
    insert into student(name,subject,score) values('王','英语',100) ;
    insert into student(name,subject,score) values('李','数学',10) ;
    insert into student(name,subject,score) values('赵','英语',88) ;
    

     student表 ,一共三个字段 name ,subject ,score (数据类型分别为 varchar(50),varchar(50),int),测试表,比较简单。

    3.我写的sql

    select m.name from (
    	select s.name ,s.score ,DENSE_RANK() over(PARTITION by s.name order by s.score asc) as score_rank from student s
    ) m where m.score_rank = 1 and m.score >=60 ;
    

     4.分析

    以姓名相同的为一组,对其成绩进行排序。然后取其成绩最大值(rank=1的)大于60的人员。

    最终查询结果:

    如有异议,欢迎指正。

  • 相关阅读:
    Python中匿名函数的应用
    Python中界面阻塞情况的解决方案
    Python中的协程,gevent模块
    Python中的进程和线程
    Python中的正则表达式用法
    Jquery瀑布流效果(下篇)
    安卓不支持keypress事件
    让MAC OS也能使用LL LA L等LS的别名
    git 常用命令
    javascript中的apply与call
  • 原文地址:https://www.cnblogs.com/zhengzeze/p/5899779.html
Copyright © 2011-2022 走看看