3

2つのセットから異なる要素の数を数えたいです。正確には、これはセット1とセット2の和集合です。

次の疑似SQLを機能するSQLにフォーマットするにはどうすればよいですか?

select COUNT(set1 union set2) from table1`

EDITset1とset2はtable1の列です

簡単な例を次に示します。

クラスの生徒1人を設定します。

Bubba, Jody, Rex, Sandy, Jules

クラスに2人の生徒を設定します。

Jody, Rob, Horace, Thor, Rex

両方のクラスで明確な数の生徒が必要です。

Bubba, Jody, Rex, Sandy Jules, Rob, Horace, Thor

だから、組合がやるだろうし、私はただ数えることができる。

4

2 に答える 2

2
Select Count(column_alias) From
( Select set1 As column_alias From Table1 
Union 
Select set2 From Table1 )

ユニオンは要素をユニークにします。これは、列のデータ型に互換性がある場合にのみ機能します。必要に応じて、サブクエリを変更して Where 条件を含めることができます。

于 2013-01-08T16:27:17.930 に答える
0

列の 1 はセット内を意味し、NULL はセット内にない場合に使用されると仮定します

select count(*)
from Table1
where set1 is not null or set2 is not null

セットへの包含が異なる表現である場合は、where 句を書き直してください。

于 2013-01-08T16:55:50.923 に答える