顧客IDが1つのテーブルとタイムゾーンが別のテーブルにある場合、異なるタイムゾーン値を持つすべての顧客IDを選択できるプレーンSQLステートメントがありますか?言い換えれば、ニューヨーク、シカゴ、サンフランシスコにオフィスを持つ顧客を見つけたいと思いますが、1つのタイムゾーンにのみオフィスを持つ顧客は探しません。単一列の複数の値を選択するバニラSQL
1
A
答えて
3
SELECT Customer
FROM MyTable
GROUP BY Customer
HAVING COUNT(DISTINCT TimeZone) > 1
DISTINCTの使用が重要です。
COUNT(TimeZone)は、別個の値だけでなく、すべての非NULL値をカウントします。したがって、TimeZoneがnullの場合を除いて、COUNT(*)と同等です。すなわち
、所与の顧客三のオフィスを有しているが、すべての東部タイムゾーンにある場合、COUNT(DISTINCTタイムゾーン)が異なるために1
1
SELECT Customer
FROM MyTable
GROUP BY Customer
HAVING COUNT(DISTINCT TimeZone) > 1
醜いが、効果的な
0
:
select CustomerID
where CustomerID in
(
select customerID from
(select distinct CustomerID
from table
where TimeZone in ('NY','CHI','SF')) t
having count(*) = 3
)
関連する問題
- 1. 複数の列から単一の列に値を選択
- 2. 単一のコンボボックス選択から複数選択された値
- 3. UITableView - 複数選択と単一選択
- 4. 複数テーブル単一選択
- 5. SQL Serverで複数選択の代わりに単一選択を返す
- 6. 単一のSQLクエリで複数のテーブルを選択
- 7. 複数の列を一度に選択するSQL
- 8. 複数テーブルの列の一致値を選択する方法
- 9. ListBox SelectionMode単一の複数選択
- 10. データフレームの単一列から一意の値を選択する
- 11. SQLの単一列に複数の最大値を戻す
- 12. Linq to SQL複数の列を選択
- 13. asp.net単一のボタンで複数のグリッドを選択する行の選択
- 14. 単一の要素から複数の属性値を選択する
- 15. c#.netの単一列データから複数のチェックボックスを選択する方法
- 16. 複数の行から単一行を選択する - Teradata
- 17. 単一行から単一の列を選択するHibernate
- 18. 複数値の選択された値の配列を取得する選択
- 19. 同じ列の複数の値に一致する行を選択するSQLITE3
- 20. Select Inner JoinでDistinctを選択する単一の列で複数の値でクエリをフィルタリングする?
- 21. 複数の列を選択する方法単一のテーブルから同じ行に値を設定する
- 22. dbから単一の値を選択
- 23. linqから単一の値を選択
- 24. 文字列から単一の整数値を選択する方法は?
- 25. postgresqlの列にある単一のレコードに対して複数の値を選択する方法
- 26. 複数の単一選択を避け、NHibernateで複数選択を作成する方法
- 27. 列内の複数の範囲から一意の値を選択するTSQL
- 28. 複数の和の列IDによる単一選択クエリおよびグループ
- 29. ピッカービューで単一の値の配列を選択できない
- 30. グリッドビューの列のチェックボックスの単一選択
+1となり、一方、COUNT(タイムゾーン)は、3になります。また、私は自分の答えを修正して修正しました:) – JNK