这是一个例子
a b
--------
1 10
1 10
2 20
2 20
3 20
3 20
4 NULL
5 NULL
我想在mySQL查询中使用它:
a b
------------
1 10
2 or 3 20
4 NULL
5 NULL
换句话说:元素集合(a
上没有重复项(b
或b
上没有重复项是NULL
))。
我试试
SELECT DISTINCT(a), b
,但我有2行,b = 20 SELECT a, DISTINCT(b)
,但我在列a上有重复项,并且合并了2个NULL
值。GROUP BY a
或GROUP BY b
,与之前的2个查询相同。有没有人有这个想法?
答案 0 :(得分:3)
SELECT MIN(a) a, b
FROM table1
WHERE b IS NOT NULL
GROUP BY b
UNION
SELECT a, b
FROM table1
WHERE b IS NULL
尝试一下,
SELECT MIN(a) a, b
FROM table1
GROUP BY COALESCE(b, RAND())
答案 1 :(得分:0)