Come si ottiene il numero di riga in una query SQL utilizzando SQL Server 2000, in cui la funzione ROW_NUMBER()
non è supportata?Come ottenere il numero di riga corrente in una query di SQL Server 2000?
risposta
Si può sempre provare ad utilizzare una tabella temporanea con una colonna di identità
DECLARE @table TABLE(
[id] INT IDENTITY(1,1),
Val VARCHAR(10)
)
DECLARE @TableFrom TABLE(
Val VARCHAR(10)
)
INSERT INTO @TableFrom (Val) SELECT 'A'
INSERT INTO @TableFrom (Val) SELECT 'B'
INSERT INTO @TableFrom (Val) SELECT 'C'
INSERT INTO @TableFrom (Val) SELECT 'D'
INSERT INTO @table (Val) SELECT * FROM @TableFrom ORDER BY Val DESC
SELECT * FROM @table
Alcuni dei migliori di paging che abbia mai visto in SQL Server 2000 utilizza questo schema
DECLARE @PageStart INT,
@PageEnd INT
SELECT @PageStart = 51,
@PageEnd = 100
SELECT <TABLE>.*
FROM (
SELECT TOP (@PageStart - 1)
<ID>
FROM (
SELECT TOP (@PageEnd)
<ID>
FROM TABLE
ORDER BY <ID> ASC
) SUB
ORDER BY SUB.<ID> DESC
) SUB INNER JOIN
<TABLE> ON SUB.<ID> = <TABLE>.<ID>
ORDER BY SUB.<ID>
Non è possibile utilizzare row_number() in SQL Server 2000 - è stato introdotto nel 2005.
Nel caso in cui si volesse utilizzare ROW_NUMBER per il paging, ecco alcune idee su come eseguire paging efficace in SQL 2000:
Potrebbe elaborare come il sotto la query risolverà il problema?
SELEZIONA (SELECT SUM (1)
DA specimen_source_ref
DOVE specimen_source_rcd < = reg.specimen_source_rcd
) AS 'Numero Row'
, *
DA specimen_source_ref reg
Questo ti darà il conteggio del numero di elementi più piccoli o uguali all'elemento corrente nell'elenco, ma non ti darà lo row_number univoco, se ci sono elementi duplcate –
Un altro modo per creare una tabella temporanea con un'identità da utilizzare:
SELECT Field1, Field2, IDENTITY(int, 1,1) AS MyID
INTO #Temp
FROM Table1
- 1. SQL Server ROW_NUMBER() su SQL Server 2000?
- 2. Ottenere il numero di riga corrente?
- 3. SQL Server 2000, sì 2000 hash password
- 4. Come posso ottenere il numero di riga corrente nell'editor netbeans
- 5. SQL Server: come ottenere gli attributi XML in una query?
- 6. Posso ottenere il numero di riga corrente a macchina
- 7. Ottenere il numero di riga corrente all'interno ArrayFormula
- 8. Ottenere il numero di riga assoluto in una griglia
- 9. Monitoraggio il progresso di una query SQL in SQL Server
- 10. Restituzione di una seconda riga di una query SQL
- 11. SQL Server 2000 Delete Top (1000)
- 12. Aggiungere il numero di riga a questa query T-SQL
- 13. Ottenere la data corrente in SQL Server?
- 14. Includere il numero di riga nel risultato della query (SQL Server)
- 15. Come ottenere il file corrente e il numero di riga in Ruby?
- 16. varchar (max) MS SQL Server 2000, problemi?
- 17. numero di riga corrente in Lua
- 18. Dimensioni massime di varchar (max) in SQL Server 2000
- 19. Query ricorsiva di SQL Server
- 20. Come posso ottenere una particolare riga in una variabile di query utilizzando ColdFusion?
- 21. Richiesta di query SQL Server, Newbie
- 22. Come si eliminano tutti i vincoli di chiave esterna in una tabella in Sql Server 2000?
- 23. Come trovare il numero di connessioni simultanee di SQL Server
- 24. Come posso ridurre il numero di query?
- 25. REPLACE() senza maiuscole/minuscole in SQL Server 2000
- 26. sql server: il numero stimato di righe non è disponibile
- 27. Come utilizzare una query di selezione all'interno di una query di inserimento in SQL Server 2005
- 28. Come è possibile ordinare una colonna "Numero versione" in genere utilizzando una query SQL Server
- 29. Ottieni lo schema di SQL Server tramite una query SQL?
- 30. Come ottenere il numero indice di riga in R?
Tranne, questo non è una tabella temporanea, ma una variabile di tabella, e non sono il supporto a 200 o – Andomar
Date un'occhiata a questo http : //support.microsoft.com/kb/305977 –
+1 nice. Ecco il mio upvote allora! – Andomar