Bonjour
Je souhaiterais savoir comment faire l'equivalent du limite de mysql avec sql server
je n'arrive pas a trouver comment remonter les 15 enregistrement à partire du 98 ieme enregistrement de ma base
merci
Bonjour
Je souhaiterais savoir comment faire l'equivalent du limite de mysql avec sql server
je n'arrive pas a trouver comment remonter les 15 enregistrement à partire du 98 ieme enregistrement de ma base
merci
Bonjour,
Il faut utiliser une sous requête et le mot clé TOP
http://sqlserver.developpez.com/faq/?page=Jeu
Merci
Biensur je suis aller voirla FAQ avant mais le souci de cette methode réside dans l'importance des donnée a traiter.
Si je doit remonter les 10 enregistrement qui suive le 14523 ieme enregistrement. Cela implique de devoir remonter 14533 enregistrement pour envoir seulement 10. Au niveau performence je ne sais pas si cela est judicieux.
bonjour,
dans le cas de remonter 10 enreg après 14532 enreg tu as un pb:
soit tu créé une colonne 'num' par exemple et tu fais
select top 10 * from tatable where num>14532
ce qui est le plus propre
soit tu fais comme tu as dis.
N'oublies pas que SQL serveur est un serveur BBD fait pour faire du sql et pas de la gestion de fichiers (nombre de lignes) car on ne sait pas comment sont "rangées" les données par SQLserveur.
je pense donc qu'il te faut revoir le schéma de ta table.
serge
Ok merci
Par contre dans une requete serait'il possible de faire un truc comme ca
Ce qui donnerais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DECLARE @I integer SET @I=0 Select @I=@I+1 as num ,nom from MaTable
num nom
1 dupond
2 martin
3 durand
4 george
5 tonton
6 tata
non pas comme çà directement, il te faut un curseur:
essaies avec ce code (remplace les paramètres nom et matable)
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 DECLARE iden_cursor CURSOR FOR SELECT nom FROM MaTable declare @idx int,@nom varchar(500) set @idx=0 OPEN iden_cursor FETCH NEXT FROM iden_cursor INTO @nom WHILE @@FETCH_STATUS = 0 BEGIN update MaTable set num=@idx where nom=@nom set @idx=@idx+1 FETCH NEXT FROM iden_cursor INTO @nom END CLOSE iden_cursor DEALLOCATE iden_cursor
serge
Partager