2012-03-28 21 views
34

sto usando questa dichiarazione in SQLServer e funziona benissimo:Select Top e Last righe di una tabella (SQL Server)

SELECT TOP 1000 *  
FROM [SomeTable] 

Mi dà i TOP 1000 record da SomeTable, ora quale parola chiave dovrei usare invece di Top se ho bisogno dei record Bottom 1000 dalla tabella?

+1

'1000' tOP senza' oRDINE BY' mezzi " primo casuale 10 00 righe ". –

risposta

43

Per ottenere il fondo 1000 si vuole ordinarlo da una colonna in ordine decrescente, e ancora prendere il top 1000.

SELECT TOP 1000 * 
FROM [SomeTable] 
ORDER BY MySortColumn DESC 

Se si cura per essere nello stesso ordine in cui prima di poter utilizzare un'espressione di tabella comune per questo:

;WITH CTE AS (
    SELECT TOP 1000 * 
    FROM [SomeTable] 
    ORDER BY MySortColumn DESC 
) 

SELECT * 
FROM CTE 
ORDER BY MySortColumn 
6

È necessario ordinare i dati in base alle vostre esigenze (es. In ordine inverso) e utilizzare selezionare top interrogazione

Problemi correlati