Votre question

Requete SQL avec Groupe by et COUNT

Tags :
  • Sql
  • MySQL
Dernière réponse : dans Programmation
20 Mai 2013 11:24:10

Bonjour,
J'ai une table MYSQL qui contient un champ dateE et un champ Envoi (sa valeur 0 ou 1)
Je voulais retourner comme résultat une requête avec un COUNT des lignes ou Envoi=0 et groupés par date.
J'ai essayé cette requête mais ça me retourne seulement la date ou le champ nb>0 (alors qu'il existe des lignes avec cette date mais Envoi=1)
SELECT dateE, COUNT(*)AS nb FROM tab WHERE envoi=0 GROUP BY dateE

Or je veux un résultat comme celui la (il retourne toutes les dates existantes même si nb=0):
date nb
18/5 1
19/5 0
20/5 2

J'espère que ma question était claire et merci d'avance

Autres pages sur : requete sql groupe count

20 Mai 2013 14:34:01

Salut,

Essaie avec une requête de ce genre :
  1. SELECT DATE, COUNT(SELECT * FROM tab WHERE envoi = 0) FROM tab GROUP BY DATE
20 Mai 2013 15:58:39

Il affiche un petit problème au niveau de
  1. COUNT(SELECT * FROM tab WHERE envoi = 0)
Contenus similaires
20 Mai 2013 18:43:38

J'ai pas de serveur SQL sous la main pour tester...
Essaie de mettre 2 fois des parenthèses COUNT((...))

Et c'est quoi l'erreur qu'il te met ?

edit : après réflections, ça ne fonctionnera pas...
Je dois y aller, j'essaie de voir ça dans 1h30
20 Mai 2013 18:51:35

Error Code : 1064
autour de la ligne ou il y a COUNT

Ok merci
20 Mai 2013 20:41:09

Quelque chose comme ça devrait être mieux...
  1. SELECT DATE, SUM(cnt)
  2. FROM (
  3. SELECT DATE, CASE envoi WHEN 0 THEN COUNT(*) ELSE 0 END cnt
  4. FROM tab
  5. GROUP BY DATE, envoi
  6. ) t
  7. GROUP BY DATE
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS