Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$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;
$nb1=mysql_fetch_array(mysql_query("SELECT COUNT(DISTINCT fact) FROM statut")); echo '(nb1)'.$nb1['COUNT(DISTINCT fact)'];
Cependant, je pense que GROUP BY est plus performant que DISTINCT...
mysql> SELECT COUNT(DISTINCT fact) FROM plop; +----------------------+ | COUNT(DISTINCT fact) | +----------------------+ | 42000 | +----------------------+ 1 row in set (0.00 sec) mysql> SELECT count(*), fact FROM plop WHERE fact IS NOT NULL GROUP BY fact ; +----------+------------+ | count(*) | fact | +----------+------------+ | 1 | 127025 | /* snip */ | 1 | 2147332144 | +----------+------------+ 42000 rows in set (0.07 sec)
Tu compares 2 requêtes qui ne font pas la même chose
De plus pour comparer des temps d'exécution de requêtes tu me ferais plaisir en utilisant SQL_NO_CACHE
toutes me donne le 0 comme un élément distinct quand il est présent