我有一串文字,其中包含多个子字符串,我想计算出现的情况。我看到了类似问题的解决方案,但我想知道是否可以使用case语句或不创建新表来完成。
基本上,我使用的数据聚合/分析工具只接受非常基本的MySQL语句。
样品:
Paid Search:CLICK, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:CLICK, Display:IMPRESSION, Display:IMPRESSION, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:IMPRESSION, Display:CLICK
我想提取一下"显示:Rich_Media"
答案 0 :(得分:1)
您可以通过以下查询完成此操作:
SET @your_string :=
'Paid Search:CLICK, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:CLICK, Display:IMPRESSION, Display:IMPRESSION, Display:RICH_MEDIA, Display:RICH_MEDIA, Display:IMPRESSION, Display:CLICK';
SELECT
ROUND(
(
LENGTH(@your_string) - LENGTH(
REPLACE (
@your_string,
"Display:RICH_MEDIA",
""
)
)
) / LENGTH("Display:RICH_MEDIA")
) AS totalOccurrence;
<强>解释强>