2016-08-09 37 views
0

In meinem Anwendungsfall, ich brauche so etwas zu tun,Mehrere Abfragen innerhalb Befehl Einfügen in HiveQL

INSERT INTO TABLE test 
    select 
     count(*) where recordedValue < 0, 
     count(*) where recordedValue > 0 and recordedValue < 10, 
     count(*) where recordedValue > 10 and recordedValue < 20 
    from sample 

Ist es möglich, wie dies zu tun?

+0

Sie benötigen 3 Spalten basierend auf dem Zustand ???? –

+0

Ja .. Infact, ich habe nur 3 von 40 !! – Bala

Antwort

2
INSERT INTO TABLE test 
select count(col1), count(col2), count(col3) From (
select 
CASE WHEN recordedValue < 0 THEN recordedValue END as col1, 
CASE WHEN recordedValue > 0 AND recordedValue < 10 THEN recordedValue END as col2, 
CASE WHEN recordedValue > 10 AND recordedValue < 20 THEN recordedValue END as col3 
from sample) a; 

Zuerst check Select-Anweisung;

+0

Ich bekomme den Fehler Ausdruck nicht in GROUP BY Schlüssel '0'. Wenn ich jedoch count (*) durch eine ganze Zahl ersetze, funktioniert es. – Bala

+0

Diese Abfrage hat funktioniert !!. Danke vielmals. – Bala