Base de datos Niu Ke.com SQL combat 02-Encuentra toda la información de los empleados con el rango más bajo de los empleados

Base de datos Niu Ke.com SQL combat 02-Encuentra toda la información de los empleados con el rango más bajo de los empleados

Descripción del título

Encuentre toda la información del empleado que se ubica en el tercio inferior del tiempo del empleado entrante

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

Ingrese la descripción:

Ninguno

Descripción de salida:

emp_no Fecha de nacimiento Fecha de nacimiento apellido apellido fecha de contratación
10005 1955-01-21 Kyoichi campo de frambuesa METRO 1989-09-12

Mi respuesta

select * from employees 
where hire_date = (select distinct hire_date from employees order by hire_date desc limit 2,1)

Al igual que con la pregunta anterior, el último empleado clasificado no puede ser una persona, y puede haber más de una persona, utilizando la clasificación y restringida para obtener solo un número específico de resultados. Entonces, primero uso la declaración de subconsulta para encontrar la hora de la última tercera entrada, y luego regreso a la tabla para que coincida, para obtener la información de todas las personas que ingresaron al trabajo en este momento.

Análisis:
LIMIT m, n: significa comenzar desde el elemento m + 1 y tomar datos n;
LIMIT n: significa comenzar desde el elemento 0 y tomar datos n, que es la abreviatura del límite (0, n)

Creo que la mejor respuesta

Solo necesita encontrar la fecha es menor que el otro número es 2.

select * from employees e1
where 2=(select count(*) from employees e2 where e1.hire_date < e2.hire_date);
136 artículos originales publicados · Me gusta 58 · Visitas 360,000+

Supongo que te gusta

Origin blog.csdn.net/sunbocong/article/details/105444763
Recomendado
Clasificación