Je cherche une solution au problème suivant :
SELECT CASE WHEN p.value LIKE '%foo%' THEN 'foos'
WHEN p.value LIKE '%bar%' THEN 'bars'
WHEN p.value LIKE '%bakar%' THEN 'bakars'
ELSE p.value END as value,
COUNT(*) as count FROM table_a p GROUP BY value
Les valeurs sont de l'ordre de
foo, bar, foo and bar, bakar, bakarbar, foobar
Le résultat de cette requête est le suivant :
value count
foos 3
bars 2
bakars 1
Ce code réussit à compter les occurrences, mais le CASE s'arrête à la première correspondance. Existe-t-il un moyen d'y parvenir ?
value count
foos 3
bars 4
bakars 2