

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 集計関数
<a name="aggregate-functions"></a>

Timestream for LiveAnalytics は、次の集計関数をサポートしています。


| 関数 | 出力データ型 | 説明 | 
| --- | --- | --- | 
|  arbitrary(x)  |  [入力と同じ]  |  存在する場合は、x の任意の非 NULL 値を返します。 <pre>SELECT arbitrary(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `1`  | 
|  array\$1agg(x)  |  array<[same as input]  |  入力 x の要素から作成された配列を返します。 <pre>SELECT array_agg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `[ 1,2,3,4 ]`  | 
|  avg(x)  |  double  |  すべての入力値の平均 (算術平均) を返します。 <pre>SELECT avg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `2.5`  | 
|  bool\$1and(boolean) every(boolean)   |  boolean  |  すべての入力値が TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。 <pre>SELECT bool_and(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 結果の例: `false`  | 
|  bool\$1or(boolean)  |  boolean  |  入力値が TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。 <pre>SELECT bool_or(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 結果の例: `true`  | 
|  count(\$1) count(x)  |  bigint  |  count(\$1) は入力行数を返します。 count(x) は NULL 以外の入力値の数を返します。 <pre>SELECT count(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 結果の例: `4`  | 
|  count\$1if(x)   |  bigint  |  TRUE の入力値の数を返します。 <pre>SELECT count_if(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 結果の例: `3`  | 
|  geometric\$1mean(x)  |  double  |  すべての入力値の幾何平均を返します。 <pre>SELECT geometric_mean(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `2.213363839400643`  | 
|  max\$1by(x, y)   |  [x と同じ]  |  すべての入力値に対して y が最大値の場合の関連付けられた x の値を返します。 <pre>SELECT max_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre> 結果の例: `d`  | 
|  max\$1by(x, y, n)   |  array<[x と同じ]>  |  y の全入力値のうち n 個の最大値に関連付けられた x の n 個の値を y の降順で返します。 <pre>SELECT max_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre> 結果の例: `[ d,c ]`  | 
|  min\$1by(x, y)  |  [x と同じ]  |  すべての入力値に対して y が最小値の場合の関連付けられた x の値を返します。 <pre>SELECT min_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre> 結果の例: `a`  | 
|  min\$1by(x, y, n)  |  array<[x と同じ]>  |  y の全入力値のうち n 個の最小値に関連付けられた x の n 個の値を y の昇順で返します。 <pre>SELECT min_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre> 結果の例: `[ a,b ]`  | 
|  max(x)  |  [入力と同じ]  |  すべての入力値の最大値を返します。 <pre>SELECT max(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `4`  | 
|  max(x, n)  |  array<[x と同じ]>  |  x の全入力値の n 個の最大値を返します。 <pre>SELECT max(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `[ 4,3 ]`  | 
|  min(x)  |  [入力と同じ]  |  すべての入力値の最小値を返します。 <pre>SELECT min(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `1`  | 
|  min(x, n)  |  array<[x と同じ]>  |  x の全入力値の n 個の最小値を返します。 <pre>SELECT min(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `[ 1,2 ]`  | 
|  sum(x)   |  [入力と同じ]  |  列の全入力値の合計を返します。 <pre>SELECT sum(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `10`  | 
|  bitwise\$1and\$1agg(x)  |  bigint  |  全入力値のビット単位の AND を 2 の補数表現で返します。 <pre>SELECT bitwise_and_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre> 結果の例: `1`  | 
|  bitwise\$1or\$1agg(x)  |  bigint  |  全入力値のビット単位の OR を 2 の補数表現で返します。 <pre>SELECT bitwise_or_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre> 結果の例: `-3`  | 
|  approx\$1distinct(x)   |  bigint  |  固有の入力値の概数を返します。この関数は count(DISTINCT x) の近似値を提供します。すべての入力値が null の場合、ゼロが返されます。この関数では、2.3% の標準誤差が発生するはずです。これは、すべての可能なセットに対する (ほぼ通常の) エラー分布の標準偏差です。特定の入力セットにおけるエラーの上限は保証されません。 <pre>SELECT approx_distinct(t.c) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)</pre> 結果の例: `5`  | 
|  approx\$1distinct(x, e)  |  bigint  |  固有の入力値の概数を返します。この関数は count(DISTINCT x) の近似値を提供します。すべての入力値が null の場合、ゼロが返されます。この関数では、e 以下の標準誤差が発生するはずです。これは、すべての可能なセットに対する (ほぼ通常の) エラー分布の標準偏差です。特定の入力セットにおけるエラーの上限は保証されません。この関数の現在の実装では、e が [0.0040625, 0.26000] の範囲内にある必要があります。 <pre>SELECT approx_distinct(t.c, 0.2) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)</pre> 結果の例: `5`  | 
|  approx\$1percentile(x, percentage)   |  [x と同じ]  |  指定された割合で x の全入力値の近似パーセンタイルを返します。割合の値は 0 と 1 の間で、すべての入力行で一定である必要があります。 <pre>SELECT approx_percentile(t.c, 0.4) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `2`  | 
|  approx\$1percentile(x, percentages)   |  array<[x と同じ]>  |  指定された各割合で x の全入力値の近似パーセンタイルを返します。割合の配列の各要素は 0 と 1 の間で、配列はすべての入力行で一定である必要があります。 <pre>SELECT approx_percentile(t.c, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `[ 1,4,4 ]`  | 
|  approx\$1percentile(x, w, percentage)   |  [x と同じ]  |  割合 p で項目ごとの重み w を使用して、x のすべての入力値に対して重み付けした近似パーセンタイルを返します。重みは少なくとも 1 の整数値である必要があります。これは実質的に、パーセンタイルセットの値 x のレプリケーション数です。p の値は 0 と 1 の間で、すべての入力行で一定である必要があります。 <pre>SELECT approx_percentile(t.c, 1, 0.1) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `1`  | 
|  approx\$1percentile(x, w, percentages)   |  array<[x と同じ]>  |  配列で指定された各割合で項目ごとの重み w を使用して、x のすべての入力値に対して重み付けした近似パーセンタイルを返します。重みは少なくとも 1 の整数値である必要があります。これは実質的に、パーセンタイルセットの値 x のレプリケーション数です。配列の各要素は 0 と 1 の間で、配列はすべての入力行で一定である必要があります。 <pre>SELECT approx_percentile(t.c, 1, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `[ 1,4,4 ]`  | 
|  approx\$1percentile(x, w, percentage, accuracy)  |  [x と同じ]  |  割合 p で項目ごとの重み w を使用し、最大ランク誤差を精度として、x のすべての入力値に対して重み付けした近似パーセンタイルを返します。重みは少なくとも 1 の整数値である必要があります。これは実質的に、パーセンタイルセットの値 x のレプリケーション数です。p の値は 0 と 1 の間で、すべての入力行で一定である必要があります。精度は 0 より大きく 1 より小さい値で、すべての入力行で一定である必要があります。 <pre>SELECT approx_percentile(t.c, 1, 0.1, 0.5) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 結果の例: `1`  | 
|  corr(y, x)  |  double  |  入力値の相関係数を返します。 <pre>SELECT corr(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre> 結果の例: `1.0`  | 
|  covar\$1pop(y, x)  |  double  |  入力値の母共分散を返します。 <pre>SELECT covar_pop(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre> 結果の例: `1.25`  | 
|  covar\$1samp(y, x)   |  double  |  入力値の標本共分散を返します。 <pre>SELECT covar_samp(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre> 結果の例: `1.6666666666666667`  | 
|  regr\$1intercept(y, x)  |  double  |  入力値の線形回帰切片を返します。y は依存値で、x は独立した値です。 <pre>SELECT regr_intercept(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre> 結果の例: `0.0`  | 
|  regr\$1slope(y, x)  |  double  |  入力値の線形回帰スロープを返します。y は依存値で、x は独立した値です。 <pre>SELECT regr_slope(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre> 結果の例: `1.0`  | 
|  skewness(x)  |  double  |  すべての入力値の歪度を返します。 <pre>SELECT skewness(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 結果の例: `0.8978957037987335`  | 
|  stddev\$1pop(x)  |  double  |  すべての入力値の母集団標準偏差を返します。 <pre>SELECT stddev_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 結果の例: `2.4166091947189146`  | 
|  stddev\$1samp(x) stddev(x)  |  double  |  すべての入力値の標本標準偏差を返します。 <pre>SELECT stddev_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 結果の例: `2.701851217221259`  | 
|  var\$1pop(x)   |  double  |  すべての入力値の母分散を返します。 <pre>SELECT var_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 結果の例: `5.840000000000001`  | 
|  var\$1samp(x) variance(x)   |  double  |  すべての入力値の標本分散を返します。 <pre>SELECT var_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 結果の例: `7.300000000000001`  | 