begin process at 2012 05 27 04:43:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

Requetes avec Count


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requetes avec Count

vendredi 9 avril 2010 à 21:16:02 | Requetes avec Count

scm

Bonjour à tous
Je suis coincé, j'ai une table contenant plusieurs champs et je souhaiterai compter le nombre d'enregistrements d'un champs mais à une condition qu'il me compte uniquement les champs contenant l'enregistrement O
Voici l'exmeple :
La table : Matable
Les champs : Qte,Lu,Ma,Me,Je,Ve
Dans les champs Lu,Ma,Me,Je,Ve contiennent uniquement une lettre O ou N
Je souhaiterai que ma requete compte uniquement si Lu,Ma,Me,Je,Ve est à O
Voici ma requete : Select Qte,Lu,Ma,Me,Je,Ve,count(Qte) as Nb group by(qte);
Et là j'ai un regroupement de tout le champs Lu par exemple donc O et N, dans le champs Lu j'ai par exemple 2 N et 4 O dans le count j'ai 6 au lieu de 4.
Je pense qu'il faut faire des case ou des if mais je ne sais pas comment faire
Merci de votre aide
samedi 10 avril 2010 à 07:57:11 | Re : Requetes avec Count

Julien39

Membre Club Administrateur CodeS-SourceS
Je ne sais pas si tu veux que tous les chaps soient à 'O' oui si au mois un le soit

Si tu veux tous les champs c'est

SELECT COUNT(*) FROM maTable
WHERE Lu = 'O'
AND Ma = 'O'
AND Me = 'O'
etc.

Et sinon c'est


SELECT COUNT(*) FROM maTable
WHERE Lu = 'O'
OR Ma = 'O'
OR Me = 'O'
etc.
samedi 10 avril 2010 à 18:29:50 | Re : Requetes avec Count

scm

Merci Julien pour ta réponse, je vais faire comme tu m'as dit, j'avais déjà essayé avec les AND
c'est à dire : select * from matable count(qte) as NB Where lu='O' and Ma='O' and Me='O' and Je='O' and Ve='O' group by qte
Je n'avais pas eu le resultat attendu.
Autre solution ?
samedi 10 avril 2010 à 18:39:42 | Re : Requetes avec Count

Julien39

Membre Club Administrateur CodeS-SourceS
Je pense qu'il faut que tu enlèves le groupe by, et que tu ne sélectionne que la somme, les autres paramètres seront forcement des 0.

Sinon, je n'ai pas bien compris ce que tu voulais séléctionner.
samedi 10 avril 2010 à 20:43:57 | Re : Requetes avec Count

scm

Merci Julien pour ta disponibilité
Au fait je ne peux m'en passer de Group By, car j'ai un count et un Sum dans la requete.
Voici ce que j'attends de ma requete :
Matable
Lu,Ma,Me,Qte,Heure
Ma requete :
Select Lu,Ma,Me,Je,Count(heure) as NB,sum(Qte) as NB1 group by heure.

Les champs Lu,Ma,Me comporte que deux caractères 'O' ou 'N'
Je souhaiterai qu'il me fasse le count que des champs contenant 'O' car quand je fais ma requete comme ci-haut j'ai un resultat me comptant tout 'O' et 'N' par exemple :
Lu Ma Me Je
O N N O
O N N O
N O N O
J'aimerai que mon count me donne : Lu =2, Ma=1, Me=0, Je=3
dimanche 11 avril 2010 à 07:50:25 | Re : Requetes avec Count

Julien39

Membre Club Administrateur CodeS-SourceS
Ha alors c'est bien différent de ce que je pensais, en fait le WHERE va exclure toutes les lignes qui n'ont pas que des O conclusion, une seule ligne selectionnee meme avec le group by

Code :
(SELECT COUNT(*) as resLu
FROM matable 
WHERE Lu='O')
UNION ALL
(SELECT COUNT(*) as resMa
FROM matable 
WHERE Ma='O')

Et ainsi de suite pour tous les jours

Ca je pense que ca devrait marcher.

Je ne sais pas quelles sont tes contraintes, mais si j'étais à ta place, je coderais putot les O/N par 0/1, ce qui présente plusieurs avantages : une base plus légère, en effet, un entier 0 ou 1 est codé sur 1 bit alors que le O/N est codé sur au moins 5 bit.

Et en plus, ca simplifie tes requêtes, dans le cas présent, tu n'aurais eu qu'à écrire

Code :
SELECT COUNT(*) - SUM(Lu),  COUNT(*) - SUM(Ma)
FROM maTable
dimanche 11 avril 2010 à 10:51:43 | Re : Requetes avec Count

scm

Merci encore une fois pour ta réponse
Je ne cherche pas à compter le nombre de jours, je veux compter le nombre de fois que le même horaire apparait dans un champs nommé heure mais à condition que dans les autres champs lu,Ma,Me,Je qu'il m'exclu la valeur 'N' contenu dans ces champs, en gros que la requete me regroupe et me compte uniquement si les champs : Lu,Ma,Me,Je sont à 'O'
Exemple :
Lu Ma Me Heure Qte
O N O 07:30 2
N N N 06:00 2
O O N 07:30 1
O N N 06:00 3

Je souhaiterai avoir comme resultat groupé des heures par exemple :
Lu Ma Me Heure Qte
2 0 1 07:30 3
1 0 0 06:00 5
dimanche 11 avril 2010 à 19:05:14 | Re : Requetes avec Count

Julien39

Membre Club Administrateur CodeS-SourceS
L(instruction c'est ca; je pense, mais je ne peux pas tester de chez moi.

Code :
SELECT Count(*), Heure, SUM(Qte) as Qte 
FROM maTable
WHERE Lu='O'
GROUP BY Heure


Et ensuite, tu fais des UNION ALL pour chacun de tes jours.
dimanche 11 avril 2010 à 19:38:02 | Re : Requetes avec Count

scm

Ok, je vais le tester , je reviens demain en fin de matinée pour te dire si c'est ok, merci et bonne semaine


Cette discussion est classée dans : count, champs, ve, lu, qte


Répondre à ce message

Sujets en rapport avec ce message

deux count dans une requete [ par Matt67 ] Bonsoir, J'ai le champs suivant | champs |     1     2     3     1     3     2     5  &n select count sur plusieurs champs [ par lezj ] Bonjour à tous et à chacun[^^clinoeil1]! Mon problème est le suivant: j'ai une table Candidature dans ma base de données qui contient une clé compos Contraintes d'unicité sur 2 champs identiques [ par glebian ] Bonjour, j'ai une table avec 3 champs : Id, IdBT1,IdBT2 Cette table me permet d'avoir une liste de couples de BTS (grâce à IdBT1 et IdBT2). J'aimerais Importer dans Excel une requête Access comportant des champs null [ par TatianaD75 ] Bonjour! Après avoir passé en revue plusieurs topics, je n'arrive pas à trouver de solutions à mon problème. J'ai donc décidé de (enfin) crée un comp Problème de synthaxe sur une reqête SQL SERVEUR 2008 !! [ par lapink ] Bonjour à tous, J'ai mis au point une application qui me permet de générer des requêtes me permettant de créer des documents de vente, 1 étape je ré Ecrire des champs dans plusieurs tables en un fois avec index [ par jacfev ] Bojour, Je dois copier des champs d'une table dans 3 autres tables. J'ai une table source nommée devis avec les champs codearticle, designation, prix, INSERT SUR BASE ACCESS [ par e0601132 ] Bonjour, Je travaille sur une application excel ou je voudrais remplir à une base de données access. Dans cette base de donnée j'ai un champs numero Gestion couleur Etat access [ par dranok ] Bonjour, j'ai un problème qui me semble pourtant facile mais je bloque dessus depuis un bon moment. Je voudrais que la couleur de mes lignes d'un eta insertion dynamique [ par raouen ] bonjour tout le monde! j'ai une fonction de récupération de nombre de colonnes et une autre pour les noms de champs mai j'arrive pas a faire l'inserti Rassemblement de deux champs dans un seul [ par rgso ] Salut tout le monde, Bah j'ai une table(table1) que je dois remplir par le produit cartésien de deux autres tables(table2,table3), mais le probleme c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,491 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales