Mysql查询用逗号分隔的字段 |
您所在的位置:网站首页 › 龙是什么样的动物 › Mysql查询用逗号分隔的字段 |
查询用逗号分隔的字段,可以用字符串函数FIND_IN_SET(); 查询数据库表中某个字段(值分行显示),可以用函数in()。 今天工作中遇到一个问题,就是用FIND_IN_SET()函数解决的。
第一部分: FIND_IN_SET()函数用法, 查询用逗号分隔的字段, 表A中 go_value字段的值是以逗号分割, 查询 go_value字段中含有3的行: select * from A where find_in_set('3', go_value);
第二部分: in()函数用法 查询数据库表中某个字段(值分行显示), 表B中 prov字段的值是分行显示, 查询 湖北省,天津市的gid数目 select count(distinct(gid)) from B where prov in ("湖北省","天津市");
第三部分: 查询在湖北省,天津市的gid,但这些gid不在A表中的id为1的go_value字段里(这种情况,特别是当A表中id为1的go_value中值非常多,或者需要多个go_value值时,非常适用) select b.gid from (SELECT gid FROM B where prov IN ("湖北省","天津市") ) b left outer join (select go_value as gid FROM A WHERE id='1') a on FIND_IN_SET(b.gid,a.gid) where a.gid is null;
第四部分: 补充说明: 只显示左连接查询不到的值,即显示A表存在,但B表不存在的值: select A.no,A.name,B.score from A left join B on A.no=B.no where b.score is null; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |