Descripción general de la función LEAD() de SQL Server

En muchos casos, al usuario realmente le gustaría comparar el valor de la fila actual con el valor de la fila siguiente. para resolver este problema en la función de ventana LEAD() de SQL Server se utilizan a menudo.

LEAD() :
la función proporciona acceso a una fila en un desplazamiento físico establecido después de esta fila. La función LEAD() permitirá acceder a los datos de la fila siguiente, o la fila después de la fila siguiente, y continuar.

Sintaxis:

LEAD(return_value, offset [, default])  
OVER (
   [PARTITION BY partition_expression]
   ORDER BY sort_expression [ASC | DESC]
)

Dónde :

  1. return_value:
    el return_value de la fila subsiguiente admite un desplazamiento especificado. El return_value debe ser un valor.
  2. desplazamiento:
    el desplazamiento es el número de filas hacia adelante desde la fila actual desde donde se accede a los datos. El desplazamiento debe ser un número entero positivo. Si no define, el valor predeterminado de compensación es 1.
  3. predeterminado:
    la función LEAD() da como resultado el valor predeterminado si el desplazamiento está fuera del alcance de la partición. Si no se define, el valor predeterminado es NULL.
  4. Cláusula PARTITION BY:
    la cláusula PARTITION BY es opcional, difiere las filas del conjunto de resultados en particiones donde se usa la función LEAD().
  5. Cláusula ORDER BY:
    la cláusula ORDER BY define el orden lógico de las filas en cada partición donde se usa la función LEAD().

Ejemplo-1:
supongamos que tenemos la siguiente tabla llamada «CompanySales»:

Select * 
from CompanySales;
Compañía Año Monto
ABC Ltda. 2015 5000
XYZ Ltda. 2015 4600
ABC Ltda. 2017 5500
ABC Ltda. 2016 5400
XYZ Ltda. 2016 6500
ABC Ltda. 2018 5400
XYZ Ltda. 2017 4700
XYZ Ltda. 2018 5400

Ejemplo-2:

SELECT TOP 10 [Company], [Year], [Amount],
LEAD(Amount, 1) OVER (
PARTITION BY Company
ORDER BY Year DESC
) AS Lead_amount
FROM [CompanySales] ;

Producción –

Compañía Año Monto Lead_amount
ABC Ltda. 2018 5400 5500
ABC Ltda. 2017 5500 5400
ABC Ltda. 2016 5400 5000
ABC Ltda. 2015 5000 NULO
XYZ Ltda. 2018 5400 4700
XYZ Ltda. 2017 4700 6500
XYZ Ltda. 2016 6500 4600
XYZ Ltda. 2015 4600 NULO

Publicación traducida automáticamente

Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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