我必须从装货日期算起1年内每个月最后一天的费用。
查询1:
select
id1,id2,date_col,
sum(
CASE
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-11)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-10)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-9)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-8)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-7)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-6)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-5)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-4)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-3)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-2)) then col_n
WHEN to_date(table_1.date_col) = to_date(add_months('2016-03-31',-1)) then col_n
WHEN to_date(table_1.date_col) = to_date('2016-03-31') then col_n
END
) as col_n_sum
from table_1 table_1
where id2=7 and id1 = 2
group by id1,id2 ,date_col
查询1的输出
查询2:只从表中选择-不带case语句:select查询的输出
问题:为什么4月、6月都是空的。。。。尽管表中有所有月份的数据。
如果我硬编码april,那么我会得到数据查询-
CASE WHEN to_date(table_1.date_col) = to_date('2015-04-30') then col_n .
偶数-查询-
select * from table_1 where (to_date(table_1.date_col) = to_date(add_months('2016-03-31',-11)) ) and id1 = 2 and id2 = 7 giving data .
添加\u month不处理案例或我缺少的内容。
我用的是云彩色调Hive。
暂无答案!
目前还没有任何答案,快来回答吧!