

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><br />結果の例: `1` | 
| array\_agg(x) | array<[same as input] | 入力 x の要素から作成された配列を返します。<pre>SELECT array_agg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `[ 1,2,3,4 ]` | 
| avg(x) | double | すべての入力値の平均 (算術平均) を返します。<pre>SELECT avg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `2.5` | 
| bool\_and(boolean) every(boolean)  | boolean | すべての入力値が TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。<pre>SELECT bool_and(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />結果の例: `false` | 
| bool\_or(boolean) | boolean | 入力値が TRUE の場合は TRUE を返し、それ以外の場合は FALSE を返します。<pre>SELECT bool_or(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />結果の例: `true` | 
| count(\*) count(x) | bigint | count(\*) は入力行数を返します。<br />count(x) は NULL 以外の入力値の数を返します。<pre>SELECT count(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />結果の例: `4` | 
| count\_if(x)  | bigint | TRUE の入力値の数を返します。<pre>SELECT count_if(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />結果の例: `3` | 
| geometric\_mean(x) | double | すべての入力値の幾何平均を返します。<pre>SELECT geometric_mean(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `2.213363839400643` | 
| max\_by(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><br />結果の例: `d` | 
| max\_by(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><br />結果の例: `[ d,c ]` | 
| min\_by(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><br />結果の例: `a` | 
| min\_by(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><br />結果の例: `[ a,b ]` | 
| max(x) | [入力と同じ] | すべての入力値の最大値を返します。<pre>SELECT max(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `4` | 
| max(x, n) | array<[x と同じ]> | x の全入力値の n 個の最大値を返します。<pre>SELECT max(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `[ 4,3 ]` | 
| min(x) | [入力と同じ] | すべての入力値の最小値を返します。<pre>SELECT min(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `1` | 
| min(x, n) | array<[x と同じ]> | x の全入力値の n 個の最小値を返します。<pre>SELECT min(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `[ 1,2 ]` | 
| sum(x)  | [入力と同じ] | 列の全入力値の合計を返します。<pre>SELECT sum(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `10` | 
| bitwise\_and\_agg(x) | bigint | 全入力値のビット単位の AND を 2 の補数表現で返します。<pre>SELECT bitwise_and_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre><br />結果の例: `1` | 
| bitwise\_or\_agg(x) | bigint | 全入力値のビット単位の OR を 2 の補数表現で返します。<pre>SELECT bitwise_or_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre><br />結果の例: `-3` | 
| approx\_distinct(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><br />結果の例: `5` | 
| approx\_distinct(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><br />結果の例: `5` | 
| approx\_percentile(x, percentage)  | [x と同じ] | 指定された割合で x の全入力値の近似パーセンタイルを返します。割合の値は 0 と 1 の間で、すべての入力行で一定である必要があります。<pre>SELECT approx_percentile(t.c, 0.4) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />結果の例: `2` | 
| approx\_percentile(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><br />結果の例: `[ 1,4,4 ]` | 
| approx\_percentile(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><br />結果の例: `1` | 
| approx\_percentile(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><br />結果の例: `[ 1,4,4 ]` | 
| approx\_percentile(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><br />結果の例: `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><br />結果の例: `1.0` | 
| covar\_pop(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><br />結果の例: `1.25` | 
| covar\_samp(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><br />結果の例: `1.6666666666666667` | 
| regr\_intercept(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><br />結果の例: `0.0` | 
| regr\_slope(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><br />結果の例: `1.0` | 
| skewness(x) | double | すべての入力値の歪度を返します。<pre>SELECT skewness(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />結果の例: `0.8978957037987335` | 
| stddev\_pop(x) | double | すべての入力値の母集団標準偏差を返します。<pre>SELECT stddev_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />結果の例: `2.4166091947189146` | 
| stddev\_samp(x) stddev(x) | double | すべての入力値の標本標準偏差を返します。<pre>SELECT stddev_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />結果の例: `2.701851217221259` | 
| var\_pop(x)  | double | すべての入力値の母分散を返します。<pre>SELECT var_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />結果の例: `5.840000000000001` | 
| var\_samp(x) variance(x)  | double | すべての入力値の標本分散を返します。<pre>SELECT var_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />結果の例: `7.300000000000001` | 