compter le nombre d'occurence de valeurs dans un champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : compter le nombre d'occurence de valeurs dans un champs

par orgerix » 02 avr. 2007, 18:38

merci expreg, maintenant, je sais comment nommer mes variable de fonction :D

Quand a ma virgule, je m'en suis apercu dès que j'ai utilisé la requete. SI seulement les erreurs pouvaient être aussi simple a trouver...

par Expreg » 02 avr. 2007, 16:00

<?php
$req="select count(lechamp) as nb, lechamp from latable group by lechamp";
$res=mysql_query($req);
while($data=mysql_fetch_assoc($res))
{
echo $data['lechamp'],' est présent ',$data['nb'],' fois<br/>';
}
?>

par Ryle » 02 avr. 2007, 14:52

C'est effectivement la bonne solution, le GROUP BY agira implicitement comme un distinct, donc pas de soucis de ce côté là :)

(il te manque toutefois une virgule entre le nom du champ et le count(*) ;))

par orgerix » 01 avr. 2007, 10:58

Après une petite recherche sur les mnuels de MySQL, la requet suivante merche :

SELECT champ COUNT(*) FROM table GROUP BY champ

Enfin, je dis ca, mais j'ai pas encore fait mes tables utilisé par ma requete, donc je peux pas vérifier.

par Cyrano » 01 avr. 2007, 10:53

Je n'ai pas de serveur MySQL fonctionnel sur ma machine pour tester, mais il me semble qu'avec une combinaison COUNT() + DISTINCT() on doit pouvoir obtenir le résultat recherché. :-k

compter le nombre d'occurence de valeurs dans un champs

par orgerix » 01 avr. 2007, 10:48

Bonjour,

J'ai dans une table un champs pouvant contenir a,b et c, et j'aimerai savoir combien de fois il y a a, combien de fois il y a b et combien de fois il y a c.

Y a t il une requete SQL simple qui me permet de faire ca ?

Je me doute qu'il faut utiliser GROUP BY champ, mais après, je ne vois pas...

Au pire, je peux faire 3 requete, mais autand éviter si possible...