SQL Server 2012 använder Top med Procent i SQL Server

TOP-klausulen i SQL Server används för att begränsa antalet rader i en resultatuppsättning. Du kan ange antalet rader eller procent av rader som ska returneras med TOP-klausulen.

Specificera procentandelen rader med TOP-klausulen är en nyligen introducerad funktion i SQL Server 2012.

Du kan ladda ner SQL-koden för TOP med Procentandel och prova den i din SQL Server-maskin.

Vi kommer att visa TOP med Procent.

Skapa ett bord FÖRETAG, och fyll i det med tio rader.

Om OBJECT_ID ('COMPANY') ÄR INTE NULL DROP TABLE COMPANY, SKAPA TABELLS FÖRETAGET (ID INT PRIMARY KEY, NAMN VARCHAR (25), LOCATION VARCHAR (25)) GÅ INSERT IN I SÄRSKILDA VÄRDEN (1, 'HCL' ), (2, "HP", "Bangalore"), (3, "Microsoft", "Bangalore"), (4, "Infosys", "Pune"), (5, "Google", "London") (6, 'GE', 'London'), (7, 'AltiSource', 'New York'), (8, 'Facebook', 'Palo alto'), (9, "IBM", "New York") , (10, 'TCS', 'Mumbai') GO


Nu har vi COMPANY bord med tio rader.

- Välj 100 PERCENT ROWS SELECT TOP (100) PERCENT * FRÅN FÖRETAGET


TOP 100 Procent ger oss alla rader från företagsbordet.

- Välj 50 PERCENT ROWS SELECT TOP (50) PERCENT * FRÅN FÖRETAGET


Vi har tio rader i företagsbordet och 50 procent av tio rader är fem. Därför har vi fem rader i resultatet.

- Välj 25 PERCENT ROWS SELECT TOP (25) PERCENT * FRÅN FÖRETAGET


Det finns tio rader i företagsbordet och 25 procent av tio rader är ett fraktvärde på 2,5. Det är avrundat till tre. Därför returnerar ovanstående fråga tre rader.

- Variabel med TOP PERCENTAGE Förklara @Percentage AS int = 30 VÄLJ TOPP (@Procent) PERCENT * FRÅN FÖRETAGET


Det finns tio rader i företagsbordet och 30 procent av tio rader är tre. Därför har vi tre rader i resultatet.

- Välj -100 PERCENT ROWS, med ett negativt värde som resulterar i ett fel. VÄLJ TOPP (-100) PERCENT * FRÅN FÖRETAGET


Detta ger felet "Procentvärdena måste vara mellan 0 och 100," så negativa värden är inte tillåtna med TOP med Procentandel.