如何将通过LIKE运算得到的return相似值作为一个值?
How to return similar values obtained through LIKE operator as one value?
这是一个测试 mysql 查询,我在一个更大的查询中使用它来从我的 table.
中过滤掉操作系统
select distinct ostype from prus where ostype LIKE '%%android%%' OR ostype LIKE '%%ios%%' OR ostype LIKE '%%iOS%%';
ostype
-----------------
iOS
generic_ios
generic_android
9_android
M_android
android
此查询returns各种android和iOS版本已存储。
现在我想组合在一起并拥有所有 android 个版本 (generic_android,9_android,M_android,android) returned/displayed作为一个单独的名称 - Android 和 iOS(iOS、generic_ios)与 iOS.
相同
如何做到这一点?
您可以尝试使用 group_concat
select group_concat( ostype )
from prus
where ostype LIKE '%%android%%'
OR ostype LIKE '%%ios%%'
OR ostype LIKE '%%iOS%%';
select distinct case when ostype LIKE '%%android%%' then 'Android'
when ostype LIKE '%%ios%%' then 'IOS'
else ostype
end as filtered_ostype
from prus
这是一个测试 mysql 查询,我在一个更大的查询中使用它来从我的 table.
中过滤掉操作系统select distinct ostype from prus where ostype LIKE '%%android%%' OR ostype LIKE '%%ios%%' OR ostype LIKE '%%iOS%%';
ostype
-----------------
iOS
generic_ios
generic_android
9_android
M_android
android
此查询returns各种android和iOS版本已存储。
现在我想组合在一起并拥有所有 android 个版本 (generic_android,9_android,M_android,android) returned/displayed作为一个单独的名称 - Android 和 iOS(iOS、generic_ios)与 iOS.
相同如何做到这一点?
您可以尝试使用 group_concat
select group_concat( ostype )
from prus
where ostype LIKE '%%android%%'
OR ostype LIKE '%%ios%%'
OR ostype LIKE '%%iOS%%';
select distinct case when ostype LIKE '%%android%%' then 'Android'
when ostype LIKE '%%ios%%' then 'IOS'
else ostype
end as filtered_ostype
from prus