Requete SQL spécifique

guitoun3
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Inscription: 22 Aoû 2008

Requete SQL spécifique

Message le Ven Aoû 22, 2008 15:15

Salut,
J'ai une requéte comme çà : SELECT DISTINCT nom, count(nom) as test FROM tag GROUP by nom ORDER BY test DESC, RAND() LIMIT 0,20

Donc comme je le demande dans la requete sa affiche par test du plus grand au plus petit.
Et je voudrais faire si possible (via SQL directement)
Afficher les mémes résultats mais dans le désordre mais dans les résultats de 0 a 20 je veux qu'il y ait les plus grand "test"
Merci d'avance


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3827
Inscription: 14 Sep 2006

Message le Ven Aoû 22, 2008 15:23

Tu veux pas aussi que la requête s'occupe de la maintenance de ton serveur tous les deux tuples aussi ? lol

Plus sérieusement je crois pas que tu puisses trier tout en êtant en désordre, quelque part c'est contradictoire ;)

Fais toi une petite fonction qui fait ce que tu veux en php, ça ira plus vite et consommera moins de ressources que de le faire dans la requête. Il faut éviter absolument les rand() sur les requêtes souvent exécutées !

Ou alors, recommence en expliquant un peu mieux si j'ai mal compris parce que c'est pas très clair ^^


k2pi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 313
Inscription: 4 Fév 2007

Message le Ven Aoû 22, 2008 20:37

Tu fais 2 requetes imbriquees

SELECT * FROM (
SELECT DISTINCT nom, count(nom) as test FROM tag GROUP by nom ORDER BY test DESC LIMIT 0,20
) ORDER BY RAND()

Tu es oblige de faire 2 requetes parce que tu travaille sur un sous ensemble de ta table principale


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités