假设有个字段记录多个员工id并以逗号隔开,如“1,2,3,44,55,66” 在统计报表的时候,我们需要统计这个字段内存了多少个员工id,可以使用这个
select (LENGTH('1,2,3,44,55,66')-LENGTH(REPLACE('1,2,3,44,55,66',',','')) +1) ,完整的字符串减去去除了逗号的字符串,得到逗号的个数再加1即是我们要求的数量
SELECT *
FROM `user_agents`
WHERE (
LENGTH( `agent_ids` ) - LENGTH( REPLACE( `agent_ids` , ',', '' ) ) +1
) >=4
AND SUBSTRING_INDEX( SUBSTRING_INDEX( `agent_ids` , ',', 4 ) , ',', -1 ) =25
[[i] 本帖最后由 xiexie 于 2020-9-14 00:34 编辑 [/i]]