Excusez moi de revenir si tard mais fallait quand même dire merci, c'est exactement ce que je cherchais.
bjbebert
trueslash a écrit a écrit :
SELECT Count(*), cat
FROM stock
GROUP BY cat;
C'est pas mal ca.
Si y a besoin, on peut même rajouter un WHERE cat < 8 AND cat > 0 avant le GROUP BY.
darklord
Dost67 a écrit a écrit :
je ne veux bien 7 résultats séparés mais avec une seule requête.
:heink:
Dost67
trueslash a écrit a écrit :
SELECT Count(*), cat
FROM stock
GROUP BY cat;
t'as essayé ça ?
Non pas encore.
trueslash
SELECT Count(*), cat
FROM stock
GROUP BY cat;
t'as essayé ça ?
Dost67
instantdharma a écrit a écrit :
salut
tu peux pas écrire une des chose suivantes ?
Code :
1. where cat < 8
2. where cat between 1 and 7
3. where cat = 1 or cat = 2 or... ... or cat = 7
Non sinon il me retourne le nb d'id pour toutes les cat confondues alors que je ne veux bien 7 résultats séparés mais avec une seule requête.
Dost67
Bah non parce qu'en fait mes 7 requêtes c'est :
SELECT COUNT(id) AS nb FROM stock WHERE cat='1'
SELECT COUNT(id) AS nb FROM stock WHERE cat='2'
SELECT COUNT(id) AS nb FROM stock WHERE cat='3'
SELECT COUNT(id) AS nb FROM stock WHERE cat='4'
SELECT COUNT(id) AS nb FROM stock WHERE cat='5'
SELECT COUNT(id) AS nb FROM stock WHERE cat='6'
SELECT COUNT(id) AS nb FROM stock WHERE cat='7'
Et j'en voudrais qu'une seule mais bien entendu nb changera de nom à chage fois... Par exemple :
SELECT COUNT(id) AS nb1 FROM stock WHERE cat='1'
SELECT COUNT(id) AS nb2 FROM stock WHERE cat='2' ... etc.
Mais le pb c'est que si j'écris les 2 lignes en italique dans MySQL ça ne lui plaît pas. Ma question est : comment exécuter ces requêtes en même temps (et pas une par une avec des boucles for).
instantdharma
salut
tu peux pas écrire une des chose suivantes ?
Code :
1. where cat < 8
2. where cat between 1 and 7
3. where cat = 1 or cat = 2 or... ... or cat = 7
Dost67
Voici le code :
Code :
for ($i=1; $i<=7; $i++) {
$sql_query[$i] = "SELECT COUNT(id) AS nb FROM stock WHERE cat='$i'";