gpt4 book ai didi

mysql - 如何在单个查询中查询多个通配符运算符?

转载 作者:行者123 更新时间:2023-11-29 09:36:24 26 4
gpt4 key购买 nike

在下面的代码中,一切都很好,但我的值与应有的不匹配,我想了解我是否正确使用通配符运算符,即我想使用通配符从列 post_evar10 中提取多个值。当我一次使用一个通配符运算符时,我会得到正确的结果。

where (post_evar10 like 'states:%' or 
post_evar10 like 'www:' or
post_evar10 like 'local:%' or
post_evar10 like 'learn:%')

create table temp.MS_Adobe_Discover1

Select
concat(month(date_time),'/',day(date_time),'/', year(date_time)) as Date,
post_evar10,
count(page_event) as Pageviews,
count(distinct concat(post_visid_high, post_visid_low)) as UniqueVisitors
from adobe_hits
where (post_evar10 like 'states:%' or
post_evar10 like 'www:' or
post_evar10 like 'local:%' or
post_evar10 like 'learn:%')
and page_event like '0'
and exclude_hit like '0'
and hit_source not in (5,7,8,9)
group by Date, post_evar10;

结果示例:请看图片。 enter image description here

最佳答案

您还可以使用 left,这在某些系统和某些数据集上可能会更快 --- 像这样:

 where (left(post_evar10,7) = 'states:' or 
post_evar10 = 'www:' or
post_evar10,6) = 'local:' or
post_evar10,6) = 'learn:')

如果你不关心states:中的:,这就是def。更快

 where (left(post_evar10,6) in ('states','local:','learn:') or 
post_evar10 = 'www:' )

关于mysql - 如何在单个查询中查询多个通配符运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com