PHP/MySQL: requete de tri et LEFT JOIN

PHP/MySQL: requete de tri et LEFT JOIN - PHP - Programmation

Marsh Posté le 18-04-2006 à 20:04:19    

Salut,
 
j'ai une question, relativement simple, mais je n'ai pas reussi a trouver la reponse dans le manuel... et je n'ai surement pas les bons mots cles pour que google me soit utile.
 
la situation:
 
j 'ai deux tables:
 
la table "mere" qui contient differents elements, les champs sont: "elementa_id" "elementb_id" etc
 
j ai ensuite une (des) tables element: par exemple la table "elementa" contient les champs: "caracteristique_a" "caracteristique_b" etc
 
 
je cherche a faire des statistiques, plus precisement un tri decroissant.
 
 
Je veux savoir quel est l'element (a,b , etc)  le plus present dans ma table "mere".
 
que ca me sorte quelque chose du genre:
 
le "elementa" le plus present est: XXXX et on le trouve YYY fois
 
etc...
 
idealement j'aurais aime une jointure entre ma table "mere" et "elementa" pour qu'en fonction de l'ID de l'element je puisse sortir le "nom", ou autres caracteristiques de l'element en question...
 
 
mais pour le moment je n'ai meme pas reussi a generer le tri, donc je ne parle pas de la jointure....
 
 
j aimerais deja savoir comment faire pour recuperer:
 
les 3 ID des elements les plus present dans cette table "mere" ainsi que le nombre d'entree correspondante:
 
1.    ID:456     85 fois
2.    ID:101     45 fois
3.    ID:125     32 fois
 
 
 
vous avez une idee comment faire cette requette en mySQL?

Reply

Marsh Posté le 18-04-2006 à 20:04:19   

Reply

Marsh Posté le 18-04-2006 à 20:30:05    

Sa serais pas plutot dans la section SGBD/SQL qui faudrais poster?
 
Select id, count(*) from table_mere order by count(*) desc Limit 0,3;
 
Je ne suis pas sur du tout, dites moi si je me trompe.

Reply

Marsh Posté le 18-04-2006 à 20:30:38    

avec

Code :
  1. COUNT


et

Code :
  1. GROUP BY


fini par

Code :
  1. ORDER BY


 
ce qui doit donné un truc du genre...

Code :
  1. select count(t1.elementa) AS NB, t1.elmenta FROM table1 t1, table2 t2 WHERE t1.propriete = t2.propriete GROUP BY t1.elementa ORDER BY cout(t1.elementa)


(grossomodo, hein)
 
propriete, c'est le nom d'un champ (ça pourait être id, nom, autre, etc)


---------------
my flick r - Just Tab it !
Reply

Sujets relatifs:

Leave a Replay

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