为了账号安全,请及时绑定邮箱和手机立即绑定

mysql查询数据

 一个数据表里面有个字段type,改字段type可以有三个值1,2,3,当type的值有1或者2时,就只查询type=2的数据,当type只有1的值时就只查询等于1的数据


http://img1.sycdn.imooc.com//6110fb490001d95805100084.jpg

比如说这个数据,group_id等于10的数据type只有1,就要查询type=1的这条,group_id等于12的这条数据type的值有1和2,就只查询type=2的这个数据,也就是说,现在要查询的数据就只有id为46和48的这两个数据,请问一下这个sql语句怎么写,条件就只能用type做为条件


正在回答

2 回答

select *
from 表名
where type=2
union
select t1.*
from (
    select *
    from 表名
    where type=1
    ) t1
left join
(
    select *
    from 表名
    where type=2
) t2
on t1.group_id=t2.group_id
where t2.type is null

0 回复 有任何疑惑可以回复我~

select * from 表名 where type=2  or (type=1 and type not =2);

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

mysql查询数据

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信