Code : Tout sélectionner
SELECT COUNT(*)
FROM resultats
WHERE (
MOD(c1,2)=0 OR
MOD(c2,2)=0 OR
MOD(c3,2)=0 OR
MOD(c4,2)=0 OR
MOD(c5,2)=0 OR
MOD(c6,2)=0 OR
MOD(c7,2)=0 OR
)
Ceci ne te donne pas le même résultat ?Code : Tout sélectionner
SELECT COUNT(*) FROM resultats WHERE ( MOD(c1,2)=0 OR MOD(c2,2)=0 OR MOD(c3,2)=0 OR MOD(c4,2)=0 OR MOD(c5,2)=0 OR MOD(c6,2)=0 OR MOD(c7,2)=0 OR )
enfin déjà une première chose, si tu veux juste le nombre de résultats, et pas les données, utilise COUNT(*)
$requete = 'SELECT COUNT(*) AS total FROM table';
$exec = mysql_query($requete);
$resultat = mysql_fetch_array($exec);
echo 'Nombre de lignes : '.$resultat['total'];
comme n'importe quelle valeur d'une requête :
j'ai oublié d'aliaser le COUNT ce qui sera plus pratique :
$requete = 'SELECT COUNT(*) AS total FROM table'; $exec = mysql_query($requete); $resultat = mysql_fetch_array($exec); echo 'Nombre de lignes : '.$resultat['total'];
je pense que cela vient du fait qu'avec les requêtes séparées tu peux compter deux fois une ligne, et là non
ex :
si une ligne a MOD(c1,2)=0 ET MOD(c2,2)=0, elle ne sera comptée qu'une fois
donc il faut déjà savoir si chaque condition compte 1 point, ou si la ligne est simplement comptée ou non
Code : Tout sélectionner
Resultats Tirages
---------- -------
id_resultat id_tirage
date numero
id_resultats #
Code : Tout sélectionner
SELECT COUNT(*) AS total_pairs FROM tirages WHERE MOD(numero,2)=0
Ok j'ai bien noté. J'aurai fais comme ca aussi si je l'avais conçuc'est un bon exemple pour voir que lorsqu'on a des colonnes quasi-identiques dans une même table, il y aurait peut-être des trucs à revoir
car si tu avais deux tables distinctes : "resultats" et "tirages" par exemples, reliées par un identifiant de "resultats", cela aurait été plus simples:
et la requête :Code : Tout sélectionner
Resultats Tirages ---------- ------- id_resultat id_tirage date numero id_resultats #mais pour ton cas, il faudrait peut-être regarder du coté de IF, pour compter 1 à chaque foisCode : Tout sélectionner
SELECT COUNT(*) AS total_pairs FROM tirages WHERE MOD(numero,2)=0
c'est tout ce qui me viens je vais chercher
Code : Tout sélectionner
create table tirages
( c1 int , c2 int , c3 int):
insert tirages values (1,2,3)
insert tirages values (1,2,4);
insert tirages values (3,5,7);
insert tirages values (2,4,8);
Code : Tout sélectionner
select sum ( (~c1 & 1) + (~c2 & 1) ) from tirages;Code : Tout sélectionner
select (~c1 & 1) , (~c2 & 1) from tirages;
select (~c1 & 1) + (~c2 & 1) from tirages;Code : Tout sélectionner
select SUM(
MOD(c1+1,2)
+MOD(c2+1,2)
+MOD(c3+1,2))
from tirages OK merci, je vais testerTrouvé : sous MySQLEt finalement plus simple à lire.Code : Tout sélectionner
select SUM( MOD(c1+1,2) +MOD(c2+1,2) +MOD(c3+1,2)) from tirages