[résolu] LIMIT

LIMIT [résolu] - SQL/NoSQL - Programmation

Marsh Posté le 03-04-2006 à 16:09:04    

Bonjour,
 
Comment puis je faire l'équivalent du limit sous MSSQL?
 
J ai trouvé en fesant un truc genre

Code :
  1. SELECT * FROM (
  2.    SELECT TOP Convert.ToString(max+1-min) * FROM (
  3.       SELECT TOP Convert.ToString(max+1) *
  4.          corpsQuery
  5.       ORDER BY id DESC
  6.    ) AS tbl1 ORDER BY id ASC
  7. ) as tbl2 ORDER BY id DESC;


 
Mais l'astuce c'est que si j'ai une table contenant 25 enregisterements et que je demande les enregistrements 10 derniers enregistrements à partir de l'enregistrement 20, il me renvoi en fait les enregistrements de 15 à 25 et non de 20 à 25!!!
 
Vous voyez une solution à par le truc hyper lourd qui est de faire un count du nombrre d'enregistrements avant???
 
D'avance merci
 
Ben


Message édité par the big ben le 04-04-2006 à 09:23:35
Reply

Marsh Posté le 03-04-2006 à 16:09:04   

Reply

Marsh Posté le 04-04-2006 à 09:24:34    

J'ai trouvé pour info si qq a besoin je met la focntion comme je l ai tapé si qq a envie de plus d'explications, demandez...
 

Code :
  1. Result := 'SELECT IDENTITY(int, 1,1) zeid, '+getChampsAvecTable+' INTO #Temp '+corpsQuery+' ORDER BY '+getOrdreAvecTable+' '+
  2.               'SELECT * FROM #Temp WHERE zeid BETWEEN '+Convert.ToString(min)+' AND '+Convert.ToString(max)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed