我正在寻找以下问题的解决方案:
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
Run Code Online (Sandbox Code Playgroud)
值类似于:
foo, bar, foo and bar, bakar, bakarbar, foobar
Run Code Online (Sandbox Code Playgroud)
此查询的结果是:
value count
foos 3
bars 2
bakars 1
Run Code Online (Sandbox Code Playgroud)
此代码成功计算出现次数,但CASE在第一次匹配时停止.有没有办法做到这一点?
value count
foos 3
bars 4
bakars 2
Run Code Online (Sandbox Code Playgroud)