q**********r 发帖数: 56 | 1 有个SQL想不出怎么写好,求助大家, 望不吝赐教。多谢。
A simple table:
ColA. ColB
1. A
1. A
2. B
3. B
4. C
4. C
5. C
Return unique pairs of ColA and ColB, where for the same ColB there are more
than one distinct ColA value.
For above data, it returns
ColA. ColB
2. B
3. B
4. C
5. C |
d*h 发帖数: 2347 | 2 select distinct A, B
from simple_table where B in (
select B
from (select distinct A, B from simple_table) X
group by B
having count(1) > 1
) |
h**0 发帖数: 26 | 3 select distinct A, B
from simple_table |
q**********r 发帖数: 56 | 4 谢谢谢谢。先找到多于一对的ColB再说。受教了。
【在 d*h 的大作中提到】 : select distinct A, B : from simple_table where B in ( : select B : from (select distinct A, B from simple_table) X : group by B : having count(1) > 1 : )
|
q**********r 发帖数: 56 | 5 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
【在 h**0 的大作中提到】 : select distinct A, B : from simple_table
|
c******r 发帖数: 512 | 6 with foo as (
select count(*) over (partition by colb) as C, cola, colb
from ( select cola, colb from t
group by cola, colb) tmpt)
select cola, colb from foo where C <> 1
: 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
【在 q**********r 的大作中提到】 : 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
|
h**0 发帖数: 26 | 7 少看一个条件, 加上就行
select distinct A, B
from simple_table a
WHERE EXISTS ( SELECT * FROM simple_table c
WHERE a.B=c.B AND a.A != c.A)
【在 q**********r 的大作中提到】 : 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
|
q**********r 发帖数: 56 | 8 有个SQL想不出怎么写好,求助大家, 望不吝赐教。多谢。
A simple table:
ColA. ColB
1. A
1. A
2. B
3. B
4. C
4. C
5. C
Return unique pairs of ColA and ColB, where for the same ColB there are more
than one distinct ColA value.
For above data, it returns
ColA. ColB
2. B
3. B
4. C
5. C |
d*h 发帖数: 2347 | 9 select distinct A, B
from simple_table where B in (
select B
from (select distinct A, B from simple_table) X
group by B
having count(1) > 1
) |
h**0 发帖数: 26 | 10 select distinct A, B
from simple_table |
q**********r 发帖数: 56 | 11 谢谢谢谢。先找到多于一对的ColB再说。受教了。
【在 d*h 的大作中提到】 : select distinct A, B : from simple_table where B in ( : select B : from (select distinct A, B from simple_table) X : group by B : having count(1) > 1 : )
|
q**********r 发帖数: 56 | 12 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
【在 h**0 的大作中提到】 : select distinct A, B : from simple_table
|
c******r 发帖数: 512 | 13 with foo as (
select count(*) over (partition by colb) as C, cola, colb
from ( select cola, colb from t
group by cola, colb) tmpt)
select cola, colb from foo where C <> 1
: 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
【在 q**********r 的大作中提到】 : 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
|
h**0 发帖数: 26 | 14 少看一个条件, 加上就行
select distinct A, B
from simple_table a
WHERE EXISTS ( SELECT * FROM simple_table c
WHERE a.B=c.B AND a.A != c.A)
【在 q**********r 的大作中提到】 : 谢谢。这个好像差一点, 例子中的 1 A 排除不了。
|