3

私は Presto SQL 構文が初めてで、行をn特定の範囲のビンにビン化する関数が存在するかどうか疑問に思っています。

たとえば、1 ~ 100 の範囲の 1m の異なる整数を含むテーブルがあります。 ) 20 の個別のCASE WHENステートメントを使用せずに? ビニング機能を実行する標準 SQL 関数はありますか?

アドバイスをいただければ幸いです。

4

2 に答える 2

9

標準の SQL 関数を使用できますwidth_bucket。例えば:

WITH data(value) AS (
    SELECT rand(100)+1 FROM UNNEST(sequence(1,10000))
) 
SELECT value, width_bucket(value, 1, 101, 20) bucket
FROM data

生成:

 value | bucket
-------+--------
   100 |     20
    98 |     20
    38 |      8
    42 |      9
    67 |     14
    74 |     15
     6 |      2
    ...
于 2019-06-13T21:41:20.433 に答える