[SQL] SELECT 1 ligne toute les x lignes

Résolu
Digit@lChord Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -  
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Pour faire simple, j'aimerais que lorsque je fais un "SELECT * from table" sur une table contenant 90000 lignes, il me sélectionne UNE ligne TOUTE LES 450 lignes.
Ainsi je n'aurais pas 90000 résultat mais seulement 200.
C'est possible ?

Si oui, quelqu'un aurai il une piste ?
A voir également:

6 réponses

Utilisateur anonyme
 
Bonjour

Si les ID sont consécutifs:
"SELECT * FROM matable WHERE id % 450=1"

S'ils ne sont pas consécutifs, on peut fabriquer un compteur (temporaire) qui joue le même rôle :
"SET @rownum:=0;" puis
"SELECT * FROM matable WHERE (@rownum:=@rownum+1) % 450=1"
4
Digit@lChord Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   8
 
Merci ça fonctionne parfaitement :-)
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
voila... le père a été plus rapide :)
0
Digit@lChord Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   8
 
Up :-)
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
oui c'est possible, il faut que tu récupères d'abord toutes tes lignes :
$req = mysql_query("SELECT * from table");"


ensuite que tu fasses une boucle :
n = 0;
while ($data = mysql_fetch_array($req))
{
     if (n == 450)
     {
          //tu la stockes ou tu veux
     }
n++;
}
0
Digit@lChord Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   8
 
"oui c'est possible, il faut que tu récupères d'abord toutes tes lignes :"

Bah oui c'est un peu le problème.
Si je fait un SELECT sur beaucoup de ligne, ça va pas être plus lent que si je faisais un SELECT sur quelques lignes ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
dans ta base : chaque ligne a-t-elle un id ?
et ces id : sont-ils triés par ordre croissant ? (sont-ils a la suite : 1,2,3,4... et non 1,7, 90, 456...) ???
0
Digit@lChord Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   8
 
Oui j'ai des ID, triés par ordre croissants 1,2,3,4,5,6,7,8,9...
La fonction modulo en sql pourrait elle être utile ?
0