0

我正在尝试使用 HiveQL 执行此操作,但我也不知道如何在 SQL 中执行此操作。表结构如下:

id1 id2 类别  
第123章 1
123 定义 1
123 定义 2
第456章 1
第123章 1
第123章 2
...  

我想写一个查询输出:

关键计数 category1count category2count
123-ABC 3 2 1
123 分辨率 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)
4

1 回答 1

2

试试这个

 SELECT concat(id1,'-', id2) `key`, count(*) , 
 sum( case when category = 1 then 1 else 0 end) category1count , 
 sum( case when category = 2 then 1 else 0 end) category2count
 FROM table1 
 GROUP BY concat(id1,'-', id2)

在这里演示

于 2013-08-01T00:06:10.100 回答