Accueil > Forum > > > > Problème avec COUNT et DISTINCT
Problème avec COUNT et DISTINCT
mercredi 29 décembre 2010 à 15:10:15 |
Problème avec COUNT et DISTINCT

daporoty
|
Bonjour,
Ca fait 2 jours que je cherche à compter le nombre d'éléments différents dans une colonne vide ('fact') et que mysql me sort 1 au lieu de 0.
J'ai essayé :
Code PHP :
$nb1=mysql_fetch_array(mysql_query("SELECT COUNT(DISTINCT fact) FROM statut"));
echo '(nb1)'.$nb1['COUNT(DISTINCT fact)'];
$nb2=mysql_num_rows(mysql_query("SELECT DISTINCT fact FROM statut"));
echo '(nb2)'.$nb2;
$nb3=mysql_num_rows(mysql_query("SELECT DISTINCT fact FROM statut WHERE fact IS NOT NULL"));
echo '(nb3)'.$nb3;
Comment en fait en vrai ???
DapORoty
|
|
mercredi 29 décembre 2010 à 16:59:49 |
Re : Problème avec COUNT et DISTINCT

morpheus57
|
Salut,
Et comme ça :
SELECT count(*), fact FROM statut WHERE fact IS NOT NULL GROUP BY fact
|
|
jeudi 30 décembre 2010 à 03:14:50 |
Re : Problème avec COUNT et DISTINCT

daporoty
|
Bonjour,
Depuis j'ai remplis quelques lignes dans ma colonne 'fact', ta requète me donne 3 éléments au lieu de 5 ...
J'ai jamais vu ca, ca me semblait pourtant simple
DapORoty
|
|
jeudi 30 décembre 2010 à 09:15:07 |
Re : Problème avec COUNT et DISTINCT

morpheus57
|
Re bonjour,
Je ne peux pas t'aider si tu ne me dis pas ce qu'il y a dans ta table.
|
|
jeudi 30 décembre 2010 à 12:59:22 |
Re : Problème avec COUNT et DISTINCT

daporoty
|
Bonjour,
Actuellement j'ai dans ma table :
id fact
1 20100003
2 20100001
3 20100002
4 20100003
5 20100003
6
7
8 20100005
9 20100005
10 20100004
11 20100004
La en théorie je devrais avoir 5 éléments différents
DapORoty
|
|
jeudi 30 décembre 2010 à 14:13:51 |
Re : Problème avec COUNT et DISTINCT

morpheus57
|
J'ai testé en local : La requête que je t'ai donnée fonctionne bien...
Peux-tu vérifier le type de tes données ?
|
|
jeudi 30 décembre 2010 à 15:10:33 |
Re : Problème avec COUNT et DISTINCT

daporoty
|
Les données 'fact' étaient en TEXT, je viens de les passer en INT.
Code PHP :
$sql="SELECT count(*), fact FROM statut WHERE fact IS NOT NULL GROUP BY fact";
$rq=mysql_query($sql) or die(mysql_error());
$res=mysql_fetch_array($rq);
$nb=$res[0];
echo $nb;
J'ai extrait la rq précédente et mis sur une page seule pour éliminer d'éventuelles interactions.
Cette fois la requete me donne 1 au lieu de 5.
DapORoty
|
|
jeudi 30 décembre 2010 à 15:17:54 |
Re : Problème avec COUNT et DISTINCT

morpheus57
|
Non mais attend...
La requête fonctionne si tu l'exécute dans un client MySQL.
Par contre, ce qui ne marche pas c'est ta récupération des résultats en PHP. Je te conseille d'aller faire un tour ici :
http://php.net/manual/fr/function.mysql-fetch-array.php
Notamment la partie suivante :
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID : %s Nom : %s", $row[0], $row[1]);
}
|
|
jeudi 30 décembre 2010 à 15:29:58 |
Re : Problème avec COUNT et DISTINCT

TychoBrahe
|
Salut,
Juste comme ça, chez moi ta première méthode fonctionne parfaitement :
Code PHP : $nb1=mysql_fetch_array(mysql_query("SELECT COUNT(DISTINCT fact) FROM statut"));
echo '(nb1)'.$nb1['COUNT(DISTINCT fact)'];
J'ai bien le bon nombre d'éléments distincts, aussi bien pour 0 que pour n éléments.
|
|
jeudi 30 décembre 2010 à 15:40:29 |
Re : Problème avec COUNT et DISTINCT

morpheus57
|
Salut,
Cependant, je pense que GROUP BY est plus performant que DISTINCT...
|
|
Cette discussion est classée dans : count, mysql, nb1, distinct, fact
Répondre à ce message
Sujets en rapport avec ce message
Récupérer les données d'une requete avec un COUNT [ par haens ]
Bjr,petit pb !Voici la requete qui va chercher le nombre d'IDClients présent au moins deux fois dans la table Commandes :$req6 = mysql_query("SELECT C
Renseignement [ par zzzzzz ]
Salut mysql_query("SELECT count( *) FROM membres WHERE nick = '$nick_' AND pass = '$pass_'")j'aimerai savoir se qu'est ce count( *) svp :)et j'aimerai
requete SQL count et distinct [ par samylatortue ]
salut,je cherche a faire une requete qui selectionne des nom dans une table et qui compte combien de fois chaque nom apparait.j'ai essayer SELECT nom,
DISTINCT dans MySQL [ par Evangun ]
Salut!Je me demandais s'il y avait un moyen de faire que le distinct ne concerne que deux champs sur trois par exemple. Parce que dans l'exemple suiva
pb requete count !!!! [ par fredericmaill ]
Bonjour,voila j'ai un probleme avec ma requette COUNT voivi mon code :// verification si il existe deja un Responsable, si nb = 0 alors il n'y a pas d
Insertion recherches mysql [ par rubenxela ]
Salut, vous allez tout de suite comprendre que je suis une bille ! Je pense cependant que mon problème n'est pas insurmontable et que vous êtes nombre
Mysql = count [ par Burnside ]
bonjour,après avoir testé bcp de façon de compter le nombre de record pour un table, je viens ici,voilà ma requête :$requete = mysql_query("SELECT COU
fonction récursive et count mysql a additionner [ par romega ]
Salut,Alors j'ai une fonction récursive qui a pour but de compter le nombre de sujet dans les catégorie + sous catégorie d'un forum. Je fais donc un c
Comment faire disparaitre des bannieres une fois cliqué [ par stomy95 ]
Bonjour a tous , voila je suis débutant en webmastering et je voudrais savoir comment fait on pour faire disparaitre des banniere une fois cliqué par
recuperer le resulta d'un select count dans une variable [ par Abdoul86 ]
Bonjour j'ai besoin de recuperer le resultat que va me donner ma requete mais j'y arrive[^^sad1] j'aurai besoin d'aide $sql="SELECT COUNT(codescte) F
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|