hive sql 中使用 if 語句

2021-10-11 01:14:51 字數 1332 閱讀 9746

hive sql 中使用 if 語句

hive 是數倉管理中重要的一環,尤其是sql的書寫時大家在執行任務時中最重要的,關係到任務的執行快慢和正確性

今天就來看一下hive中的sql 的使用 案例:

insert into table ads_sale_tm_category1_stat_mn

select

mn.sku_tm_id,

mn.sku_category1_id,

mn.sku_category1_name,

sum(if(mn.order_count>=1,1,0)) buycount,

sum(if(mn.order_count>=2,1,0)) buytwicelast,

sum(if(mn.order_count>=2,1,0))/sum( if(mn.order_count>=1,1,0)) buytwicelastratio,

sum(if(mn.order_count>=3,1,0)) buy3timelast ,

sum(if(mn.order_count>=3,1,0))/sum( if(mn.order_count>=1,1,0)) buy3timelastratio ,

date_format('2019-02-10' ,'yyyy-mm') stat_mn,

'2019-02-10' stat_date

from

(select

user_id,

sd.sku_tm_id,

sd.sku_category1_id,

sd.sku_category1_name,

sum(order_count) order_count

from dws_sale_detail_daycount sd

where date_format(dt,'yyyy-mm')=date_format('2019-02-10' ,'yyyy-mm')

group by user_id, sd.sku_tm_id, sd.sku_category1_id, sd.sku_category1_name

) mn

group by mn.sku_tm_id, mn.sku_category1_id, mn.sku_category1_name

;

在hive sql 中,if 的語句有很多用處,以上**用於轉換思想 和 歸類思想, 外層中按照sku_id 把購買過sku_id 的user使用者分層一組,如果使用者的購買次數》0 表示他購買過一次,如果購買次數》=1 ,那麼他的購買數》=2,這樣可以統計出單個sku_id 的使用者的購買次數有多少人

ACCESS中使用SQL語句

以下sql語句在access xp的查詢中測試通過 建表 create table tab1 id counter,name string,age integer,date datetime 技巧 自增字段用 counter 宣告.欄位名為關鍵字的字段用方括號括起來,數字作為欄位名也可行.建立索引 ...

with語句在Python中使用

引言 with語句生於python2.5,通過 from future import with statement 匯入後使用 2.6以後無需匯入直接使用 with 語句適用於對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的 清理 操作,釋放資源 用途 最常用的兩個地方,檔案使用後...

oracle中使用SQL遞迴語句

場景 常見的領導關係樹結構,知道某一節點id,要查出此節點的所有下級 直接下級和間接下級 此時需要使用sql遞迴語句。oracle中的遞迴語句 start with connect byprior 例子 pid id a b a c a e b b1 b b2 c c1 e e1 e e3 d d1...