je cherche à faire une requête (base MySql) qui permette de retourner un
maximun de 10 lignes parmis n, les 10 lignes doivent être prises de
façon aléatoire...
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et
traiter avec du code :-(.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Antoun
Cyril wrote:
Bonjour,
je cherche à faire une requête (base MySql) qui permette de retourner un maximun de 10 lignes parmis n, les 10 lignes doivent être prises de façon aléatoire...
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
Merci de vos avis et ou conseil.
@+ Cyril
a priori, les BDD ne connaissent guère l'aléatoire ! Si je suppose que tu tires tes 10 lignes parmi une TABLE contenant une ID (ou un critère de tri unique), je te propose la méthodo suivante :
- récupération du nombre de lignes N (SELECT COUNT(*) FROM TABLE) - tirage aléatoire en PHP de 10 nombres entre 0 et N-1 - boucle de récupération des lignes choisies aléatoirement avec LIMIT (SELECT ... FROM TABLE LIMIT $i, 1)
Cela te fait faire en tout 11 requêtes... à toi de voir si c'est plus économique que de ramener une seule requête de N résultats !
Cyril wrote:
Bonjour,
je cherche à faire une requête (base MySql) qui permette de retourner un
maximun de 10 lignes parmis n, les 10 lignes doivent être prises de
façon aléatoire...
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et
traiter avec du code :-(.
Merci de vos avis et ou conseil.
@+ Cyril
a priori, les BDD ne connaissent guère l'aléatoire ! Si je suppose que
tu tires tes 10 lignes parmi une TABLE contenant une ID (ou un critère
de tri unique), je te propose la méthodo suivante :
- récupération du nombre de lignes N (SELECT COUNT(*) FROM TABLE)
- tirage aléatoire en PHP de 10 nombres entre 0 et N-1
- boucle de récupération des lignes choisies aléatoirement avec LIMIT
(SELECT ... FROM TABLE LIMIT $i, 1)
Cela te fait faire en tout 11 requêtes... à toi de voir si c'est plus
économique que de ramener une seule requête de N résultats !
je cherche à faire une requête (base MySql) qui permette de retourner un maximun de 10 lignes parmis n, les 10 lignes doivent être prises de façon aléatoire...
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
Merci de vos avis et ou conseil.
@+ Cyril
a priori, les BDD ne connaissent guère l'aléatoire ! Si je suppose que tu tires tes 10 lignes parmi une TABLE contenant une ID (ou un critère de tri unique), je te propose la méthodo suivante :
- récupération du nombre de lignes N (SELECT COUNT(*) FROM TABLE) - tirage aléatoire en PHP de 10 nombres entre 0 et N-1 - boucle de récupération des lignes choisies aléatoirement avec LIMIT (SELECT ... FROM TABLE LIMIT $i, 1)
Cela te fait faire en tout 11 requêtes... à toi de voir si c'est plus économique que de ramener une seule requête de N résultats !
Antoun
- boucle de récupération des lignes choisies aléatoirement avec LIMIT (SELECT ... FROM TABLE LIMIT $i, 1)
oops... j'oubliais de caler le tri : SELECT... FROM TABLE ORDER BY ID LIMIT $i, 1
- boucle de récupération des lignes choisies aléatoirement avec LIMIT
(SELECT ... FROM TABLE LIMIT $i, 1)
oops... j'oubliais de caler le tri :
SELECT... FROM TABLE ORDER BY ID LIMIT $i, 1
- boucle de récupération des lignes choisies aléatoirement avec LIMIT (SELECT ... FROM TABLE LIMIT $i, 1)
oops... j'oubliais de caler le tri : SELECT... FROM TABLE ORDER BY ID LIMIT $i, 1
cléo
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10 Mais certains utilisateurs semblent dire que ce n'est pas réellement aléatoire, alors à vérifier avec ta version ...
Amicalement -- Cléo
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et
traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10
Mais certains utilisateurs semblent dire que ce n'est pas réellement
aléatoire, alors à vérifier avec ta version ...
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10 Mais certains utilisateurs semblent dire que ce n'est pas réellement aléatoire, alors à vérifier avec ta version ...
Amicalement -- Cléo
Cyril
cléo a écrit :
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10 Mais certains utilisateurs semblent dire que ce n'est pas réellement aléatoire, alors à vérifier avec ta version ...
Amicalement
Top top et TOP !!, c'est simple qd on a la solution.
Merci et pour moi le "réellement aléatioire" est suffisant.
Amicalement,
Cyril
cléo a écrit :
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et
traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10
Mais certains utilisateurs semblent dire que ce n'est pas réellement
aléatoire, alors à vérifier avec ta version ...
Amicalement
Top top et TOP !!, c'est simple qd on a la solution.
Merci et pour moi le "réellement aléatioire" est suffisant.
C'est possible en SQL ? avec MySql ? ou dois je rammener les n lignes et traiter avec du code :-(.
SELECT ... FROM ... ORDER BY RAND() LIMIT 10 Mais certains utilisateurs semblent dire que ce n'est pas réellement aléatoire, alors à vérifier avec ta version ...
Amicalement
Top top et TOP !!, c'est simple qd on a la solution.
Merci et pour moi le "réellement aléatioire" est suffisant.