Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Compter avec SQL [ Archives / Problème avec une requête ] (roud59)

samedi 19 mars 2005 à 21:36:06 | Compter avec SQL

roud59

Bonjour (Bonsoir) à vous tous.

J'ai posé une question (par erreur) sur DelphiFR, mais je pense trouver quelqu'un qui pourra m'aider pus faciement ici.

Voici un exemple de ce que je voudrai faire :

Soit la table dont la première colonne est COULEUR et la 2nde LETTRE et qui contient les valeurs suivantes.
rouge  A
bleu  B
vert  A
vert  C
bleu  C
vert  A
rouge  C
rouge  C
bleu  B

Je voudrais avoir comme résultat de la requète, une table contenant une ligne par couleur et une colonne par lettre indiquant le nombre de couples Couleur/Lettre trouvés dans la table :

rouge    1(nombre de A)    0(nombre de B)    2(nombre de C)
bleu       0                            2                          1
vert       2                            0                           1

Si il y a des D dans la table, ils ne seront pas comptés (colonnes statiques).

J'ai essayé avec des Count et Group by, mais je ne crois pas être sur le bon chemin. J'utilise Paradox. Si quelqu'un a une idée ...

Merci d'avance

Roud59


lundi 21 mars 2005 à 17:23:39 | Re : Compter avec SQL

Trinita16

slt,
il faut utiliser UNION ALL
exemple

select 'rouge' as couleur, sum(a) as 'a', sum(b) as 'b'
from matable
where couleur = 'rouge'
group by couleur

UNION ALL

select 'vert' as couleur, sum(a) as 'a', sum(b) as 'b'
from matable
where couleur = 'vert'
group by couleur

....

ainsi de suite



Trinita,

(Nous savons tous lire, alors passons un peu de temps sur les documentations. Pensons aux personnes qui les rédigent )

mardi 22 mars 2005 à 09:41:11 | Re : Compter avec SQL

roud59

Bonjour Trinita16 et merci pour ta réponse essayée avec une table MaTable :

Couleur | Lettre
--------+-------
rouge   | A
bleu    | B
vert    | A
vert    | C
bleu    | C
vert    | A
rouge   | C
rouge   | C
bleu    | B

et j'ai tapé (pour le rouge)

select "rouge" as LaCouleur, Sum(A) as A, Sum(B) as B
from Matable
where couleur = "rouge"
group by couleur

Et là il me fait une erreur sur les sum() : nom de champ incorrect. J'ai essayé avec Sum(Lettre="A") ou Count(Lettre="A") mais cela ne fonctionne pas non plus. C'est peut être paradox qui n'accepte pas cette syntaxe.

J'avais essayé ceci :

select Couleur, Count(Lettre) as A from MaTable where Lettre = "A" group by couleur

et obtenu :

Couleur | A
--------+---
rouge   | 1
vert    | 2

C'est presque ce que je veux, mais il faut faire des réunions de colonnes (celle du B puis celle du C) et pas de lignes comme UNION (ALL) le fait.

Est-ce possible de le faire ?

Roud59


mardi 22 mars 2005 à 19:15:07 | Re : Compter avec SQL

Trinita16

Slt,

il faut faire

select "rouge" as LaCouleur, Sum(LETTRE) as A
from Matable
where couleur = "rouge"
and Lettre = "A"
group by couleur




Trinita,

(Nous savons tous lire, alors passons un peu de temps sur les documentations. Pensons aux personnes qui les rédigent )



Cette discussion est classé dans : nombre, table, couleur, compter, lettre


Répondre à ce message

Sujets en rapport avec ce message

nombre de valeurs identiques [ par xantro ] Bonjour à toutes et à tous.Je tiens d'abord à m'excuser pour le nom de ce sujet mais j'ai rien trouvé de mieux pour résumer mon problème, qui est le s compter [ par aymen85 ] salut...je vien de debuter en sql..j arrive pas a trouver comment retourner le nombre de table dans une base de donner ,,et le nombre d'enregistrement selection d'une qté ds une table [ par cudenetf ] bonjour,j'ai une table ou g des clients homme ou femmeceux-ci se distinguent par un bit M.J'aimerais pouvoir faire la difference entre le nombre d'hom Vue d'ensemble d'une BDD [ par astromanweb ] Bonjour,Je souhaiterai créer une "vue d'ensemble" de ma base de données.Par exemple :  le nombre d'enregistrements, la taille de la table pour chaque Nombre de ligne optimal d'une table? sql server 2000 [ par vindavid38 ] ZanTarBonjour est ce quelqu'un saurait s'il y a une taille optimale (en nombre de ligne) pour une table avec SQL server 2000.??merci bcp de rep@+ insertion de nombre de 1 à N [ par ftug ] Bonjour,j'aimerai inserer dans une table des nombre de 1 à N avec le moins de requetes possible ( le serveur SQL est déjà bien chargé )pour l'instant ORACLE - PL SQL - compter le nombre de lignes [ par yaya2669 ] Bonjour,J'essai tant bien que mal de trouver une fonction qui me permettrait de lister mes tables avec le nombre d'enregistrement dans une base oracle create dynamique de colonnes [ par stefsoft ] Bonjour,je crée un table dynamiquement dans ma procédure stockéeCREATE TABLE #table (id int, nom nvarchar(30))je veux lui ajouter des colonnes dynamiq requete pour compter le nombre d'elements? [ par firas_tn ] Salut a tous :)j'ai une table ou il ya deux champs le 1er NE et le 2eme est ospf, le probleme c'est que je n'ai pas trouvé de requete pour me sélectio retourner valeur des champs et le nombre d'enregistrments correspondant dans un table liée [ par the_mouette ] Bonjour tout le monde!bon, le titre n'étant pas très clair, je vais essayer d'expliquer mieux :de manière simple, j'ai une table messages (disons ID_M


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.