-1
2つの列a、bを持つ表が与えられます。列ごとに異なる値を持つ行を選択し、別の列を指定します。
与えられたaに対して、私は異なる値のbを持つことができる行を選択したいと思います。
この例では、私は最初の2行
a | b
-----
1 | 1
1 | 2
2 | 1
2 | 1
3 | 1
2つの列a、bを持つ表が与えられます。列ごとに異なる値を持つ行を選択し、別の列を指定します。
与えられたaに対して、私は異なる値のbを持つことができる行を選択したいと思います。
この例では、私は最初の2行
a | b
-----
1 | 1
1 | 2
2 | 1
2 | 1
3 | 1
をしたい、この試してみてください:あなたは、あなたのDBMSは言及しなかったが、Oracleにあなたが行うことができます
SELECT t1.*
FROM mytable AS t1
JOIN (
SELECT a
FROM mytable
GROUP BY a
HAVING COUNT(DISTINCT b) > 1
) AS t2 ON t1.a = t2.a
を:
select a,b
from (
select a,b,
count(distinct b) over (partition by a) as num_b
from the_table
) t
where num_b > 1
残念ながら、PostgresまたはSQL Serverでは、ウィンドウ機能用にdistinct
がサポートされていません。
どのDBMSを使用していますか? –