Categorías
Otros

leetcode mysql ranking_leetcode base de datos

175. Combine dos mesas

8a7c0b620c53c6039d0a8a26beb34b7b.png

Escribir una consulta SQL para cumplir las condiciones: independientemente de si la persona tiene información de dirección, debe proporcionar la siguiente información de persona en función de las dos tablas anteriores:

FirstName, LastName, Ciudad, Estado

Desde si la persona tiene información de dirección o no, puede saber que desea usar la combinación externa izquierda. Durante el proceso de escritura, se encuentra que el uso de alias hará que la consulta sea mucho más rápida.

Conexión externa, conexión interna: https://blog.csdn.net/plg17/a…

— CREAR leetcode BASE DE DATOS;

USE leetcode;

CREAR TABLA SI NO EXISTE PERSONA(

PersonId INT,

FirstName VARCHAR(40),

LastName VARCHAR(40),

CLAVE PRINCIPAL (PersonId)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

— CREAR TABLA SI NO EXISTE Dirección(

— AddressId INT,

— PersonId INT,

— Ciudad VARCHAR(40),

— VARCHAR estatal(40),

— CLAVE PRINCIPAL (AddressId)

— )ENGINE=InnoDB DEFAULT CHARSET=utf8;

— INSERTE EN PERSONA (PersonId,FirstName,LastName)

— VALORES (1234,»lin»,»qing»);

— INSERTE EN LA DIRECCIÓN (AddressId,PersonId,City,State)

— VALORES (1.123,»chengdu»,»111″);

— SELECCIONE * DESDE Dirección;

SELECCIONE p.FirstName, p.LastName, a.City, a.State

de Person p LEFT JOIN Dirección a ON p.PersonId = a.PersonId

176. Segundo salario más alto

— TABLA DE CAÍDAS

— SI

— EXISTE Empleado;

— CREAR EMPLEADO DE MESA ( Id INT, Salario INT );

— INSERTAR EN EL EMPLEADO ( Id, Salario )

— VALORES

— ( 1, 100 ),

— ( 2, 200 ),

— ( 3, 300 );

SELECT (

SELECCIONAR SALARIO DISTINTO

de Empleado

ORDEN POR SALARIO DESC

LÍMITE 1,1)COMO SegundoIghestSalary

177. Enésimo salario más alto*

Escriba una consulta SQL para obtener el enésimo salario más alto (salario) en la tabla Empleado.

8efe8f8fd1481eac4bedfc0a308b53a3.png

Por ejemplo, en la tabla Employee anterior, cuando n = 2, se debe devolver el segundo salario más alto 200. Si no hay un enésimo salario más alto, la consulta debe devolver null.

  Codeforce Suplemento-Preguntas matemáticas para el pensamiento simple

ee98ed316e9874da408987264ae40d6a.png

utilizar leetcode;

DELIMITADOR $$

CREATE FUNCTION getNthHighestSalary(N INT) DEVUELVE INT BEGIN

SET N = N -1;

RETORNO (

SELECT (

SELECCIONAR UN SALARIO DISTINTO DEL empleado

ORDEN POR SALARIO DESC

LÍMITE N,1

)

);

FIN $$

seleccionar getNthHighestSalary (2);

función de caída getNthHighestSalary;

178. Clasificación de puntuación*

Escriba una consulta SQL para lograr la clasificación de puntuación. Si las dos puntuaciones son las mismas, las dos puntuaciones clasifican (Rango) igual. Tenga en cuenta que la siguiente clasificación después del empate debe ser el siguiente valor entero consecutivo. En otras palabras, no debería haber ninguna «brecha» entre las clasificaciones.

3445e41e6d1050b67a33d2dae5851b4b.png

Por ejemplo, en función de la tabla Puntuaciones indicada anteriormente, la consulta debe devolverse (clasificada de mayor a menor puntuación):

e70930e15b90b24826b0f5ba31b541d2.png

utilizar leetcode;

— CREAR TABLA SI NO EXISTE Puntuaciones ( Id INT, Puntuación DECIMAL ( 3, 2 ) );

— INSERTAR EN Puntuaciones ( Id, Puntuación )

— VALORES

— ( 1, 3.5 ),

— ( 2, 3.65 ),

— ( 3, 4.0 ),

— ( 4, 3.85 ),

— ( 5, 4.0 ),

— ( 6, 3.65 );

# Escriba su instrucción de consulta MySQL a continuación

seleccione a.Score como Score,

(seleccione count(distinct b.Score)+1 de Scores as b where b.score > a.score) como rango

de puntuaciones como un

ORDEN POR a.Score desc

180. Números que aparecen consecutivamente*

Escriba una consulta SQL para buscar todos los números que aparecen al menos tres veces consecutivas.

3386155254fbcdfbf87df1b5fd6b9047.png

Por ejemplo, dada la tabla Logs anterior, 1 es el único número que aparece al menos tres veces seguidas.

314a675caaf6f919aad1a36db8c9ccd1.png

CREAR TABLA SI NO EXISTE REGISTROS ( ID INT, Num INT );

— INSERTAR EN REGISTROS ( Id, Num )

— VALORES

— ( 1, 1 ),

  [2021] Reparar el sistema Ubuntu16.04

— ( 2, 1 ),

— ( 3, 1 ),

— ( 4, 2 ),

— ( 5, 1 ),

— ( 6, 2 ),

— ( 7, 2 );

Seleccione

DISTINTOS L1.num Números consecutivos

De

Registros L1,

Registros L2,

Registros L3

DÓNDE L1.id = l2.id – 1

Y L2.id = L3.id – 1

Y L1.num = L2.num

Y l2.num = l3.num;

.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *