ID 字段1 字段2 .. 字段N ..
1 A X X
2 A X X
3 B X X
4 Q X X
5 Q X X
6 B X X
得到结果如下:
ID 字段1 字段2 .. 字段N
1 A X X
3 B X X
4 Q X X
5 Q X X
条件:
1 字段N 的值必须为 True
2 字段1 的值 可以有多个,但是除Q 外,其它值只能选1个(就是保证除Q值外,其它值的唯一性)
请教这个怎么写sql 查询语句,谢谢,在线等候,57分全部奉送
------解决方案--------------------
忘了Where里面加上"字段N=true"
SELECT MIN(ID)
, 字段1
, 字段2
, 字段N
FROM 表名
WHERE 字段1 <> 'Q'
AND 字段N = 'True'
GROUP BY 字段1
, 字段2
, 字段N
UNION
SELECT ID
, 字段1
, 字段2
, 字段N
FROM 表名
WHERE 字段1 = 'Q'
AND 字段N = 'True'
------解决方案--------------------
select * from tb t where not exists(select 1 from tb where 字段1=t.字段1 and id<t.id) and 字段1<>'Q' and 字段N='True'