Bonjour à tous,
Je dois faire des statistiques sur des données contenu dans un champ MOTIF d'une table MA_TABLE.
Ils sont par exemple de ce type:
Haricots|Pomme de terre|Carotte|Navets
Tomate|Carotte|Haricots
Poivrons|Haricots|Tomate
Navets
Sauce|Haricots
Poivre
Sel|Gingembre
J'aimerai avoir le nombre d'occurrences des chaines de caractères Tomate, Poivrons, Pomme de terre, Navets, ...
Mais je ne trouve pas du tout comment faire avec une requête SQL ...
Si je n'avais que des données simples sans pipes, c'est à dire:
Haricots
Pomme de terre
Carotte
Navets
Tomate
Carotte
Haricots
Poivrons
Haricots
Tomate
Navets
Sauce
Poivre
Sel
Gingembre
, ce serait plus simple d'écrire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT MOTIF, COUNT(MOTIF) AS NB FROM MA_TABLE GROUP BY MOTIF
Sachant que je ne veux pas prendre connaissance des différentes valeurs que peut contenir le champs MOTIFS, et que chaque jour, la table se charge de nouvelles lignes.
Je veux seulement le comptage des éléments par nom d'éléments que je vais mettre dans une grille de données comme l'exemple qui suit:
MOTIF NB
Carotte 1
Gingembre 1
Haricots 4
Navets 2
Pomme de terre 1
Poivrons 1
Tomate 2
Poivre 1
Sauce 1
Sel 1
Mais dès qu'il y a des pipes qui sont générés automatiquement dans la table par un scripteur en tant que séparateur, parce que deux légumes (Tomate, puis Carotte) ont été choisi dans une page web, grâce à une checkbox, là ca se complique. o_O
Merci de m'aider s'il vous plait.
PS: Comme les données sont confidentielles, je les ai remplacé par des noms de légumes et autres pour le fun...
Partager