0
我想用HiveQL來做到這一點,但我不知道如何在SQL中做到這一點。表結構如下:有條件的聚合與GROUP By子句
id1 id2 category 123 abc 1 123 def 1 123 def 2 456 abc 1 123 abc 1 123 abc 2 ...
我想寫輸出的查詢:
key count category1count category2count 123-abc 3 2 1 123-def 2 1 1 456-abc 1 1 0
到目前爲止,我有這樣的:
SELECT concat(concat(id1,'-'), id2), count(*) ,
count(SELECT * WHERE buyingcategory = 1 ???) ,
count(SELECT * WHERE buyingcategory = 2 ???)
FROM table
GROUP BY concat(concat(id1,'-'), id2)
謝謝!任何理由我應該擔心在這裏使用條件操作的性能?這將在大型數據集上運行(輸入大小爲8-10 GB)。但是,迄今爲止,這很有效,再次感謝! – BZapper
歡迎您!爲表現我認爲這應該很好。 –