假设有表TableA
字段有UserName UserType
张三 0
李四 0
张三 1
美女 1
美女 0我想查询的时候,如果UserType有0的优先取0的那条记录,如果没有的就看看有没有1的,
取1的记录,例如,张三有两条记录,我只想取0那条,其他只有一条的话就直接取想取得下面的效果
UserName UserType
张三 0
李四 0
美女 0
字段有UserName UserType
张三 0
李四 0
张三 1
美女 1
美女 0我想查询的时候,如果UserType有0的优先取0的那条记录,如果没有的就看看有没有1的,
取1的记录,例如,张三有两条记录,我只想取0那条,其他只有一条的话就直接取想取得下面的效果
UserName UserType
张三 0
李四 0
美女 0
from tb t
where
not exists(select 1 from tb where username=t.username and usertype<t.usertype)
union
select * from tt a where UserType='1' and not exists(select UserName from tt
where UserType='0' and a.UserName =UserName )
select * from bh1 where UserType='0'
union
select A.* from bh1 a
left join (select * from bh1 where UserType='0' ) b on a.UserName =b.UserName
where a.UserType='1' AND B.UserName IS NULL
from yourTable
group by UserName应该得到你需要的结果啊。
UserName UserType
张三 0
李四 0
美女 0
from TableA
group by UserName