En este artículo, vamos a aprender cómo usar ORDER BY con TOP para devolver las filas x superiores según el valor de una columna. Usaremos otra tabla para obtener el valor superior y usaremos ese valor en otra tabla.
Así que primero creamos una base de datos.
Paso 1: Crear base de datos
CREATE DATABASE GFG
Paso 2: usa esta base de datos
USE GFG
Paso 3: Cree una tabla para almacenar el valor superior
Crearemos una tabla para almacenar el valor superior para que podamos usar eso para obtener de otra tabla
CREATE TABLE TopValue( val varchar (255) )
Inserte algunos datos de valor superior en esta tabla
INSERT INTO TopValue VALUES(3)
Paso 4: Cree una tabla de datos que se va a buscar
Ahora crearemos una tabla cuyos datos se buscarán y llenaremos datos ficticios
CREATE TABLE geeksforgeeks( ID INT, Name varchar(255) Age varchar(5), Dept varchar(255) )
Inserte algunos datos en esta tabla para que podamos obtener estos datos
INSERT INTO [dbo].[geeksforgeeks] ([ID] ,[Name] ,[Age] ,[Dept]) VALUES (1, 'Devesh', 21, 'CSE') GO INSERT INTO [dbo].[geeksforgeeks] ([ID] ,[Name] ,[Age] ,[Dept]) VALUES (2, 'Aman', 25, 'IT') GO INSERT INTO [dbo].[geeksforgeeks] ([ID] ,[Name] ,[Age] ,[Dept]) VALUES (3, 'Jatin', 25, 'CSE') GO INSERT INTO [dbo].[geeksforgeeks] ([ID] ,[Name] ,[Age] ,[Dept]) VALUES (4, 'GFG', 23, 'CSE') GO INSERT INTO [dbo].[geeksforgeeks] ([ID] ,[Name] ,[Age] ,[Dept]) VALUES (5, 'Para', 22, 'CSE') GO
Paso 5: ahora obtenga los datos principales en función del otro valor de la tabla
DECLARE @TopVal INT; SET @TopVal = (SELECT val from TopValue) SELECT TOP (@TopVal) * FROM geeksforgeeks ORDER BY Age DESC
Producción:
Podemos ver que los datos se obtuvieron con éxito en función del valor superior de otra tabla y ordenados por orden descendente de antigüedad.