En PostgreSQL , LAST_VALUE()
Syntax: LAST_VALUE ( expression ) OVER ( [PARTITION BY partition_expression, ... ] ORDER BY sort_expression [ASC | DESC], ... )
Analicemos la sintaxis anterior:
- La expresión es un entero de valor único que se utiliza para evaluar el valor de la última fila en una partición ordenada del conjunto de resultados de la consulta. Puede ser una expresión, una columna o una subconsulta.
- PARTICIÓN POR
- ORDENAR POR
- cláusula_marco
Primero, cree dos tablas Mammals Animal_groups
CREATE TABLE Animal_groups ( animal_id serial PRIMARY KEY, animal_name VARCHAR (255) NOT NULL ); CREATE TABLE Mammals ( mammal_id serial PRIMARY KEY, mammal_name VARCHAR (255) NOT NULL, lifespan DECIMAL (11, 2), animal_id INT NOT NULL, FOREIGN KEY (animal_id) REFERENCES Animal_groups (animal_id) );
Ahora inserte algunos datos en la tabla:
INSERT INTO Animal_groups (animal_name) VALUES ('Terrestrial'), ('Aquatic'), ('Winged'); INSERT INTO Mammals(mammal_name, animal_id, lifespan) VALUES ('Cow', 1, 10), ('Dog', 1, 7), ('Ox', 1, 13), ('Wolf', 1, 11), ('Blue Whale', 2, 80), ('Dolphin', 2, 5), ('Sea Horse', 2, 3), ('Octopus', 2, 8), ('Bat', 3, 4), ('Flying Squirrels', 3, 1), ('Petaurus', 3, 2);
ÚLTIMO_VALOR()
SELECT mammal_id, mammal_name, lifespan, LAST_VALUE(mammal_name) OVER( ORDER BY lifespan RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) longest_lifespan FROM Mammals;
Producción:
Ejemplo 2:
ÚLTIMO_VALOR()
SELECT mammal_id, mammal_name, animal_id, lifespan, LAST_VALUE(mammal_name) OVER( PARTITION BY animal_id ORDER BY lifespan RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) longest_life FROM Mammals;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA