举个例子
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 = 20SELECT a, DISTINCT(b)
,但我在 a 列上有重复项,并且合并了 2 个NULL
值。GROUP BY a
或GROUP BY b
,与前两个查询相同。
有人对此有想法吗?
最佳答案
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())
关于mysql - 选择双重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16361722/