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

    科技2022-08-03  120

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

    1

    2

    3

    4

    5

    6

    7

    8

    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`));

    答案:

     

     

    SELECT * FROM employees ORDER BY hire_date DESC LIMIT 1 offset 2;  SELECT * FROM employees WHERE hire_date = ( SELECT DISTINCT hire_date FROM employees ORDER BY hire_date DESC -- 倒序 LIMIT 1 OFFSET 2 -- 去掉排名倒数第一第二的时间,取倒数第三 ); select * from employees order by hire_date desc limit 2,1;

    limit和offset用法 mysql里分页一般用limit来实现,

    select* from test LIMIT 3; 当 limit后面跟一个参数的时候,该参数表示要取的数据的数量。 表示直接取前三条数据,类似sqlserver里的top语法。

    1

    2

    3

    4

    5

    6

    以下的两种方式均表示取2,3,4三条条数据。

    1.select* from test LIMIT 1,3;

    当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量。

     

    2.select * from test LIMIT 3 OFFSET 1;(在mysql 5以后支持这种写法)

    当 limit和offset组合使用的时候,limit后面只能有一个参数,表示要取的的数量,offset表示要跳过的数量 。

    Processed: 0.009, SQL: 8