问答详情
源自:1-1 MySQL数据库课程大纲

mysql查询数据

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


http://img2.mukewang.com/6110fb490001d95805100084.jpg

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


提问者:慕雪1032859 2021-08-09 17:54

个回答

  • cloudsky3387380
    2021-11-12 16:53:28

    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

  • 慕姐0296475
    2021-08-11 00:31:50

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