leetcode-Database-176. Segundo salario más alto

      El directorio
      original de resolución de problemas
      escribe una consulta SQL para obtener el segundo salario más alto (Salario) en la tabla Empleado.

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+ 

      Por ejemplo, en la tabla de empleados anterior, la consulta SQL debería devolver 200 como el segundo salario más alto. Si no hay un segundo salario más alto, la consulta debe devolver nulo.

+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+ 

      Creo que esta pregunta es muy simple, pero hay algunos lugares que no esperaba:
      1. Si solo hay dos datos y el salario es 100, entonces devuelva nulo en lugar de 100.
      2. Si es 100,200,300,400, se deben devolver 300 en lugar de 200. Descubrí que mi capacidad de comprensión de lectura es un poco pobre recientemente ...
      3. Recuerde agregar un alias al resultado final: SecondHighestSalary

      Ideas para resolver problemas: debido a la condición 1, debe repetirse; debido a la condición 2, debe clasificarse en orden inverso; debido a la condición 3, el nombre debe cambiarse. Y tenga en cuenta que ningún dato devuelve nulo.
      Mi respuesta:

select 
    if(count(s)=1,s,null) SecondHighestSalary
from(
	-- 写hive写的比较多,所以没用distinct。
	select 
	    salary s
	from Employee
	group by s
	order by s
	limit 1,1
) tmp

      Siento que leetcode no parece admitir Oracle ... ¿por qué?
      Creo que dense_rank () también puede hacer esta pregunta, pero esta función no está disponible en mysql, solo en Oracle. Cuando lo hago con Oracle, siempre es inexplicablemente incorrecto. . .
      Lo más sin palabras es que el alias de Oracle está todo en mayúscula por defecto en el resultado de Leetcode, pero la respuesta requiere que el caso también coincida. . . Pero el alias en mi sql es obviamente un caso normal. . . Me estoy volviendo loco
      
      
      

48 artículos originales publicados · Me gusta 36 · Visitas 130,000+

Supongo que te gusta

Origin blog.csdn.net/weixin_42845682/article/details/105193453
Recomendado
Clasificación