¿Qué debo hacer para consultar el segundo sueldo más grande de todos los empleados en mi tabla de empleados?¿Cómo puedo encontrar el segundo salario más grande de la tabla de empleados?
Respuesta
Pruebe algo como:
SELECT TOP 1 compensation FROM (
SELECT TOP 2 compensation FROM employees
ORDER BY compensation DESC
) AS em ORDER BY compensation ASC
Esencialmente:
- Encuentra los mejores 2 salarios en orden descendente.
- De esos 2, encuentre el salario más alto en orden ascendente.
- El valor seleccionado es el segundo salario más alto.
Si los salarios no son distintos, puede usar SELECT DISTINCT TOP ...
en su lugar.
Cuando la remuneración TOP 1 es ganada por más de 1 empleado, esta consulta arrojará un resultado incorrecto. –
Si los salarios no son distintos, puede usar 'SELECT DISTINCT TOP ...' en su lugar. –
Prueba esto:
SELECT
salary,
employeeid
FROM
employees
ORDER BY
salary DESC
LIMIT 2
A continuación, sólo se produce la segunda fila.
¿Qué pasa si los dos primeros salarios son los mismos? – moghya
Quizás debería usar DENSE_RANK
.
SELECT *
FROM (
SELECT
[Salary],
(DENSE_RANK()
OVER
(
ORDER BY [Salary] DESC)) AS rnk
FROM [Table1]
GROUP BY [Num]
) AS A
WHERE A.rnk = 2
Prueba esto:
SELECT max(salary)
FROM emptable
WHERE salary < (SELECT max(salary)
FROM emptable);
select distinct(t1.sal)
from emp t1
where &n=(select count(distinct(t2.sal)) from emp t2 where t1.sal<=t2.sal);
Salida: Entre el valor para n: si quieres segunda más alta, introduzca 2; si quieres 5, introduzca n = 3
select * from compensation where Salary = (
select top 1 Salary from (
select top 2 Salary from compensation
group by Salary order by Salary desc) top2
order by Salary)
el cual le dará todos filas con el salario segundo más alto, lo que algunas personas pueden compartir
select max(Salary) from Employee
where Salary
not in (Select Max(Salary) from Employee)
select max(Salary) from Employee
where Salary
not in (Select top4 salary from Employee);
porque la respuesta es la siguiente
max (5,6,7,8)
tan quinto registro más alto será displa yed, cuatro primeros no serán considerados
Prueba esto:
select max(Emp_Sal)
from Employee a
where 1 = (select count(*)
from Employee b
where b.Emp_Sal > a.Emp_Sal)
Esto no funciona si hay salarios duplicados. Digamos que hay tres mismos salarios máximos 30000 y que está encontrando el segundo más alto. –
Para encontrar segundo salario máximo de los empleados,
SELECT MAX(salary) FROM employee
WHERE salary NOT IN (
SELECT MAX (salary) FROM employee
)
encontrar primero y segundo salario máximo de los empleados,
SELECT salary FROM (
SELECT DISTINCT(salary) FROM employee ORDER BY salary DESC
) WHERE rownum<=2
Estas consultas funcionan bien porque he usado
de hecho, si usted tiene una tabla: 1. 100 2. 100 3. 50 su consulta devolverá ** ** nula, que es respuesta incorrecta en este caso – kvatashydze
SELECT
TOP 1 salary
FROM
(
SELECT
TOP 2 salary
FROM
employees
) sal
ORDER BY
salary DESC;
select max(sal) from emp
where sal not in (select max(sal) from emp)
O
select max(salary) from emp table
where sal<(select max(salary)from emp)
La mayoría de las otras respuestas parecen ser db específica.
consulta general de SQL debe ser el siguiente:
select sal from emp a where N = (select count(distinct sal) from emp b where a.sal <= b.sal)
where N = any value.
y esta consulta debe ser capaz de trabajar en cualquier base de datos.
excelente respuesta 1 – anubhava
select max(Emp_Sal)
from Employee a
where 1 = (select count(*)
from Employee b
where b.Emp_Sal > a.Emp_Sal)
Sí running man.
// para seleccionar el nombre del empleado cuyo salario es el segundo más alto
SELECT name
FROM employee WHERE salary =
(SELECT MIN(salary) FROM
(SELECT TOP (2) salary
FROM employee
ORDER BY salary DESC))
respuesta simple:
SELECT sal
FROM emp
ORDER BY sal DESC
LIMIT 1, 1;
obtendrá sólo el segundo salario máximo.
Y si necesita cualquier valor 3º, 4º o Nº, puede aumentar el primer valor seguido de LIMIT (n-1)
, es decir.para el 4 de sueldo: LIMIT 3, 1;
Esto quiere trabajo si tiene 2 registros con el mismo salario. Quiere darte el segundo máximo. –
@mukeshpatel debe aplicarse distinto, gracias por señalarlo. – SandeepGodara
select * from emp
where sal=(select min(sal) from
(select sal from(select distinct sal from emp order by sal desc)
where rownum<=n));
n puede ser el valor que desea ver ......
se puede ver todos los campos de esa persona que tiene salario más alto enésima * texto fuerte *
- 1. Encontrar el segundo salario máximo usando linq
- 2. Seleccione el segundo más grande de una tabla sin límite
- 3. Consulta SQL para encontrar el N-ésimo salario más alto de una tabla de salarios
- 4. ¿Cómo puedo encontrar la altura más grande de la celda de la tabla con jQuery?
- 5. Encuentra el elemento más grande y el segundo más grande en un rango
- 6. ¿Cuál es la consulta SQL más simple para encontrar el segundo valor más grande?
- 7. consulta para encontrar el primer y el segundo valor más grande de un grupo
- 8. Cómo obtener la segunda entrada más grande o la tercera más grande de una tabla
- 9. ¿Cómo obtener el enésimo salario más alto de una tabla sin usar TOP y subconsulta?
- 10. Encontrar el palíndromo más grande en la implementación de cadenas
- 11. ¿cómo involucrar más a los empleados?
- 12. Recuperando el segundo valor más alto de una tabla
- 13. jquery: cómo encontrar el segundo anscestor más cercano?
- 14. ¿Cómo puedo encontrar el tamaño más grande (en tamaño) de dos enteros?
- 15. ¿Cómo puedo alinear columnas donde el número más grande o la cadena más grande es el indicador de alineación?
- 16. ¿Cómo puedo encontrar el resultado más común en una columna en mi tabla MySQL?
- 17. ¿Cómo encontrar el paquete UDP más grande que puedo enviar sin fragmentar?
- 18. ¿Cómo puedo encontrar el int más grande en un std :: set <int>?
- 19. Dividir la tabla grande en varias tablas más pequeñas
- 20. ¿Cómo puedo encontrar el valor más grande en una columna en postgres sql?
- 21. ¿Cómo puedo encontrar la subcadena común más grande entre dos cadenas en PHP?
- 22. ¿Cómo encontrar el número más pequeño y más grande en una matriz?
- 23. encuentra el algoritmo de submatriz más grande
- 24. Encontrar el valor más grande en un diccionario
- 25. ¿Cómo puedo encontrar la cadena más larga en Python?
- 26. ¿Por qué el tamaño de la tabla InnoDB es mucho más grande de lo esperado?
- 27. ¿Cómo encontrar el k-ésimo número más grande en sumas por pares como setA + setB?
- 28. Encontrar la secuencia de tres elementos más común en un archivo muy grande
- 29. ¿Cómo devolver el segundo registro más reciente en SQL?
- 30. Algoritmo para encontrar el número primo más grande más pequeño que x
Un blog detallado: http://sforsuresh.in/2nd-highest-salary-from-employee-table/ –