mysql 字段为多个值怎么用in
比如字段cityid值为3那么我在查询时用cityin('1,2,3,4,5,6,7,8,9,10')就可以查到cityid等于3的值了但是我现在字段cityid的值为1...
比如字段cityid值为3
那么我在查询时用 city in ('1,2,3,4,5,6,7,8,9,10') 就可以查到cityid等于3的值了
但是我现在字段cityid的值为 1,2.3
那么我用city in ('1,2,3,4,5,6,7,8,9,10') 是查不到值的
求高手解答,怎么写mysql查询条件 展开
那么我在查询时用 city in ('1,2,3,4,5,6,7,8,9,10') 就可以查到cityid等于3的值了
但是我现在字段cityid的值为 1,2.3
那么我用city in ('1,2,3,4,5,6,7,8,9,10') 是查不到值的
求高手解答,怎么写mysql查询条件 展开
4个回答
展开全部
1、创建mysql测试表,create table test_city(cityid varchar(20));
2、插入测试数据,
insert into test_city values(1);
insert into test_city values('1,2,3');
insert into test_city values('1,2,3,4');
insert into test_city values(2);
insert into test_city values(3);
3、编写sql,查询cityid为3的记录,
select * from test_city where cityid in ('1','2','3','4','5','6')
4、编写sql,查询cityid为'1,2,3'的记录,
select * from test_city where cityid in ('1,2,3')
展开全部
where city in ('1','2','3','4','5','6','7','8','9','10')
是要每一个被查询的上边都加引号
你那样的话一个引号里是不对的,像你那样'1,2,3,4,5,6,7,8,9,10' 仅仅代表一个字符串
更多追问追答
追问
额。我只是举例。。。重点不在这里
追答
关键你上下两个条件写的都一样
你具体什么意思?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这么写:(比如说我要查询所属国度不与England重复的城市信息,默认cityid,cityage可能各自单独重复,无法单独用作过滤条件)
select * from test_city c left join (select cityid,cityage,'1' as flag from test_city where citycountry='England') b on c.cityid = b.cityid where flag !=1
只是举个例子 不要抬杠说为什么不直接用citycountry=!'England' 举例举例举例!!!
这种例子就是多个字段(cityid,cityage) 相当于 not in的效果
select * from test_city c left join (select cityid,cityage,'1' as flag from test_city where citycountry='England') b on c.cityid = b.cityid where flag !=1
只是举个例子 不要抬杠说为什么不直接用citycountry=!'England' 举例举例举例!!!
这种例子就是多个字段(cityid,cityage) 相当于 not in的效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不行,因为
(distinct
字段1,字段2,字段3)
只有(字段1,字段2,字段3)完全相同时才会只显示一个。如果要对(字段1
&
字段2)
同时distinct
只能select
distinct
字段1,字段2
from
table;
(distinct
字段1,字段2,字段3)
只有(字段1,字段2,字段3)完全相同时才会只显示一个。如果要对(字段1
&
字段2)
同时distinct
只能select
distinct
字段1,字段2
from
table;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询