0

NOT INHive クエリ言語でキーワードを使用しようとしています。エラーが発生しているようです:

SELECT Name
FROM names_in_countries
WHERE Country = 'Mexico'
AND Name NOT IN (
    SELECT Name
    FROM names_in_countries
    WHERE Country <> 'Mexico')

SQLでの回答付きの元の質問は次のとおりです。

4

2 に答える 2

2

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
于 2012-05-02T04:39:15.853 に答える
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として表示されます。

于 2012-05-08T02:54:49.270 に答える