NOT IN
Hive クエリ言語でキーワードを使用しようとしています。エラーが発生しているようです:
SELECT Name
FROM names_in_countries
WHERE Country = 'Mexico'
AND Name NOT IN (
SELECT Name
FROM names_in_countries
WHERE Country <> 'Mexico')
NOT IN
Hive クエリ言語でキーワードを使用しようとしています。エラーが発生しているようです:
SELECT Name
FROM names_in_countries
WHERE Country = 'Mexico'
AND Name NOT IN (
SELECT Name
FROM names_in_countries
WHERE Country <> 'Mexico')
Hive クエリ言語を知りません。私がここで読んだことに基づいて: Hive Queries on Tables、次のスクリプトが機能する可能性があります。試してみる。
スクリプト:
SELECT name
FROM mytable
GROUP BY name
HAVING AVG((CASE WHEN country = 'Mexico' THEN 1 ELSE 0 END) * 1.) >= 1
このようなものが機能する可能性があります。
SELECT t1.Name
FROM names_in_countries t1
LEFT OUTER JOIN (SELECT Name,
Country
FROM names_in_countries
WHERE Country <> 'Mexico') t2
ON ( t1.Name = t2.Name )
WHERE t1.Country = 'Mexico'
AND t2.Country IS NULL
country <> 'Mexico'
LEFT OUTER JOINの実行後にt2から取得されたレコードが変更されるため、サブ選択としてont2を追加することが重要です。t1からのレコードに対応するエントリがない場合、これらはNULLとして表示されます。