mysql,查询语句的问题,谢谢

如何写一条语句能满足以下条件
1.列mta里含有","号,而且在一个值里出现指定次数的。

5个回答

SELECT * from test where id not IN(
select id from test WHERE name LIKE '%,%,%')

a314066646
FEN_TA SELECT * from test where name not LIKE '%,%,%,%,%' #出现四次以下的 and id not IN (select id from test where name not like '%,%,%,%') #出现三次以下的 #做差 就是出现三次的
2 年多之前 回复
a314066646
FEN_TA '%,%,%' 这样是把出现多次的给查询了出来 然后排除掉
2 年多之前 回复
u014353911
wuruize888 如果设置出现指定次数呢?
2 年多之前 回复
a314066646
FEN_TA SELECT * from test WHERE name not LIKE '%,%,%'
2 年多之前 回复

如果是ORACLE
select * from 表 b where instr(b.mta,',',1,1)>0 and instr(b.mta,',',1,2)=0

q975583865
cat a.zip >> b.jpg 回复wuruize888: instr() 函数 和 LOCATE() 函数 百度一下就知道了
2 年多之前 回复
u014353911
wuruize888 看不懂呀
2 年多之前 回复

Mysql
select * from 表 b
where LOCATE(',', b.mta)>0 and LOCATE(',', b.mta,select LOCATE(',', b.mta) from 表 c)=0

图片说明

SELECT * from test where name not LIKE '%,%,%,%,%' #出现四次以下的
and id not IN
(select id from test where name not like '%,%,%,%') #出现三次以下的
#做差 就是出现三次的

u014353911
wuruize888 那如果是指定次数呢,这个表达式感觉是1~4,1~3的,没有精确次数
2 年多之前 回复
a314066646
FEN_TA #后面的是注释
2 年多之前 回复
u014353911
wuruize888 #?
2 年多之前 回复

select * from 表 b where instr(b.mta,',',1,2)>0 and instr(b.mta,',',1,3)=0 出现2次的
select * from 表 b where instr(b.mta,',',1,3)>0 and instr(b.mta,',',1,4)=0 出现3次的
select * from 表 b where instr(b.mta,',',1,4)>0 and instr(b.mta,',',1,5)=0 出现4此的
。。。。

q975583865
cat a.zip >> b.jpg 回复wuruize888: 这是ORACLE的 MYSQL的百度LOCATE()函数自己想办法
2 年多之前 回复
u014353911
wuruize888 你给的在mysql里好像不能用呀
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问