美文网首页
查找入职员工时间排名倒数第三的员工所有信息

查找入职员工时间排名倒数第三的员工所有信息

作者: 兔子是黑老大 | 来源:发表于2019-02-16 17:42 被阅读0次

tag 排序 截取数据

题目

查找入职员工时间排名倒数第三的员工所有信息
CREATE TABLE employees (
emp_no int(11) NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
gender char(1) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_no));

思路

看到这个题目会瞬间想到排序,只有进行排序之后才能进行选取第行的数据,但是和查找最晚入职员工的所有信息不同的是,这个无法使用像max()min()这种简单函数来实现了,这就涉及到了order by,进行排序后,你会陷入另外一个坑,那就是怎么找出第三行的数据,通过查找有这种方法使用limit可以截取某一部分的数据,limittop的区别是top是无法截取数据的只能从头获取指定行数的数据,除非你获取第一行数据,否则top是没办法截取一行数据的,所以只能通过limit来解决,既然可以截取好多行,那我就让limit后面的两个数据一样,这样不就截取了一行吗?然后你就会有这样的答案
select * from employees where (hire_date = (select hire_date from employees order by hire_date desc limit 3,3))
但为什么还是不对呢?这里要注意一点limit后面的行并不是从1开始的,是从0开始的,所以最终答案要改成
select * from employees where (hire_date = (select hire_date from employees order by hire_date desc limit 2,2))

总结

  1. order by 的升降序排列
  2. limit 截取查询的部分结果集合
  3. top 获取指定行数的数据集合

相关文章

  • sql操作第一篇

    查找最晚入职员工的所有信息 解法: 查找入职员工时间排名倒数第三的员工所有信息

  • 数据库SQL线上笔试编程题Ⅰ(练习向)

    1.查找入职员工时间排名倒数第三的员工所有信息 MyCode: 2. 查找最晚入职员工的所有信息 3.查找各个部门...

  • 牛客网 sql1-10

    查找最晚入职员工的所有信息 2.查找入职员工时间排名倒数第三的员工所有信息 3.查找各个部门当前(to_date=...

  • 牛客网sql实战

    1.查找最晚入职员工的所有信息 2.查找入职员工时间排名倒数第三的员工所有信息 3.查找各个部门当前(to_dat...

  • MySQL练习1

    -- Q1:查找最晚入职员工的所有信息 -- Q2:查找入职员工时间排名倒数第三的员工所有信息 -- Q3:查询当...

  • 查找入职员工时间排名倒数第三的员工所有信息

    tag 排序 截取数据 题目 查找入职员工时间排名倒数第三的员工所有信息CREATE TABLE emplo...

  • 牛客网:sql题

    1、查找入职最晚的员工信息 ?:注意最晚不一定只有一个员工 2、查找入职员工时间排名倒数第三的员工所有信息 3\

  • SQL练习

    查找入职员工时间排名倒数第三的员工所有信息 查找各个部门当前(to_date='9999-01-01')领导当前薪...

  • day0 学习数据库的资料

    w3school; 牛客网查找入职员工时间排名倒数第三的员工所有信息 博客介紹 | MySQL基础

  • 2.查找入职员工时间排名倒数第三的员工所有信息

    答案: 注:limit用法

网友评论

      本文标题:查找入职员工时间排名倒数第三的员工所有信息

      本文链接:https://www.haomeiwen.com/subject/ihrieqtx.html