hive中按照乙個欄位的區間進行統計

2021-07-24 15:29:45 字數 909 閱讀 2323

給定乙個hive表tmp,表中有乙個欄位result(double型);給定乙個區間分類個數m,統計每個區間內的count(*)的數量。

在linux終端下,

# step1 設定區間分類個數,此處設定為10

m=10

# step2 求解字段 result 的最大值和最小值

section=`hive -e

"select max(result) as max_num,

min(result) as min_num

from tmp

"`max_num=`echo

-e"$" | cut -f1`

min_num=`echo

-e"$" | cut -f2`

# step3 求解區間的長度

len_section=`hive -e

"select ($ - $) / $

from dual

"`# step4 統計每個區間的個數

hive -e

"select $ + floor((result - $) / $) * $ as section_flag,

count(*) as num

from tmp

"

最後的執行結果

0.0     1197

0.1 1587

0.2 1495

0.3 981

0.4 1074

0.5 947

0.6 424

0.7 173

0.8 114

0.9 59

1.0 2

mysql多表乙個字段

先執行這三個 show variables like group concat max len 查詢大小 set global group concat max len 10240000 設定大小滿足執行後能夠存放所有的插入語句 set session group concat max len 10...

mysql乙個欄位為空時使用另乙個字段排序

表中有兩個日期欄位createdate,updatedate。其中updatedate可以為空,要求使用updatedate排序,如果updatedate為空則使用createdate排序,結果要順序排下來。按照常規方法 這樣的結果是為空的資料排在了最下面,不符合要求。這樣試試 這樣排的結果是先按u...

sql 同乙個字段按照不同條件更新字段值

專案中用到sql更新乙個欄位的值,同乙個字段根據不同條件來更新不同的值,記錄一下,也希望可以幫到其他人。公式 update 表名 set 字段 case when 條件1 then 值1 when 條件2 then 值2 else 預設值3 end例子 update sys anchor set i...