You need to enable JavaScript to run this app.
导航
数学函数
最近更新时间:2024.11.25 12:55:25首次发布时间:2022.02.28 12:33:07
我的收藏
有用
有用
无用
无用

COVAR_POP

计算 Σ((x - x̅)(y - y̅)) / n 的值

说明

注意:此函数使用数值不稳定算法。如果您需要计算中的数值稳定性covarPopStable,请使用此函数。它运行速度较慢,但计算误差较低。

语法

covarPop(x, y)

参数

  • x– 数字的集合。
  • y数字的集合。

返回值

  • 总体协方差。

类型:Float64
示例

CREATE TABLE test.test_covarPop(days_employed Int32, salary Int32) ENGINE = CnchMergeTree ORDER BY days_employed; -- create sample table
INSERT INTO test.test_covarPop(days_employed,salary) VALUES(300,3000),(600,4000),(900,4500),(1200,4800),(1500,5000); -- insert data to table
SELECT covarPop(days_employed,salary) FROM test.test_covarPop; -- find out the population covariance for days employed and salary

结果:

┌─covarPop(days_employed, salary)─┐
│ 2.88e+05                        │
└─────────────────────────────────┘

COVAR_SAMP

计算 Σ((x - x̅)(y - y̅)) / (n - 1)的值。

说明

注意:此函数使用数值不稳定算法。如果您需要计算中的数值稳定性covarSampStable,请使用此函数。它运行速度较慢,但计算误差较低。

语法

covarSamp(x, y)

参数

  • x– 数字的集合。
  • y数字的集合。

返回值

  • 当 时,样本协方差n <= 1返回 +∞。

类型:Float64
示例

CREATE TABLE test.test_covarSamp(days_employed Int32, salary Int32) ENGINE = CnchMergeTree ORDER BY days_employed; -- create sample table
INSERT INTO test.test_covarSamp(days_employed,salary) VALUES(300,3000),(600,4000),(900,4500),(1200,4800),(1500,5000); -- insert data to table
SELECT covarSamp(days_employed,salary) FROM test.test_covarSamp; -- find out the sample covariance for days employed and salary

结果:

┌─covarSamp(days_employed, salary)─┐
│ 3.6e+05                          │
└──────────────────────────────────┘

acos

反余弦。
语法

acos(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT acos(-1);

结果:

┌─ACOS(-1)──────────────┐
│ 3.141592653589793e+00 │
└───────────────────────┘

asin

反正弦。
语法

asin(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT asin(-1);

结果:

┌─asin(1)────────────────┐
│ 1.5707963267948966e+00 │
└────────────────────────┘

atan

反正切。
语法

atan(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT atan(-1);

结果:

┌─atan(-1)───────────────┐
│ -7.853981633974483e-01 │
└────────────────────────┘

cbrt

接受一个数字参数并返回接近该参数立方根的 Float64 数字。
语法

cbrt(x)

参数

  • x号码。

返回值

  • 争论的根源。

类型:Float64
示例

SELECT cbrt(8)

结果:

┌─cbrt(8)─┐
│ 2e+00   │
└─────────┘

ceil

返回大于或等于 的最小整数x。在其他方面,它与函数相同floor(参见上文)。
语法

ceil(x[, N])

参数

  • x号码。
  • Ndecimal-places,一个整数值。

返回值

  • 整數。

类型:Float64
示例

SELECT ceil(1.99,2);

结果:

┌─ceil(1.99, 2)─┐
│ 1.99e+00      │
└───────────────┘

其他示例:

SELECT ceil(1.99,1);

结果:

┌─ceil(1.99, 1)─┐
│ 2e+00         │
└───────────────┘

ceiling

返回大于或等于 的最小整数x。在其他方面,它与函数相同floor(参见上文)。
语法

ceiling(x[, N]) 

参数

  • x号码。
  • N小数点后四舍五入为整数。

返回值

  • 整數。

类型:Float64
示例

SELECT ceiling(1.99,2);

结果:

┌─ceil(1.99, 2)─┐
│ 1.99e+00      │
└───────────────┘

其他示例:

SELECT ceiling(1.99,1);

结果:

┌─ceil(1.99, 1)─┐
│ 2e+00         │
└───────────────┘

cos

余弦。
语法

cos(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT cos(pi())

结果:

┌─cos(pi())─┐
│ -1e+00    │
└───────────┘

erf

误差函数erf(x)=2√π∫x0e−t2dt erf(x)

说明

注意:如果“x”为非负数,则为erf(x / σ√2)具有标准差“σ”的正态分布的随机变量取与预期值相差大于“x”的值的概率。

语法

erf(x)

参数

  • x号码。

返回值

  • 概率。

类型:Float64
示例

SELECT erf(3 / sqrt(2));
┌─erf(divide(3, sqrt(2)))─┐
│ 9.973002039367398e-01   │
└─────────────────────────┘

注意:三西格玛规则

erfc

互补误差函数遵循公式:erfc(x) = 1 − erf(x)。
接受一个数字参数并返回接近 1 - erf(x) 的 Float64 数字,但不会对大x值造成精度损失。
语法

erfc(x)
sql

参数

  • x号码。

返回值

  • 概率。

类型:Float64
示例

SELECT erfc(3 / sqrt(2));
┌─erfc(divide(3, sqrt(2)))─┐
│ 2.6997960632601913e-03   │
└──────────────────────────┘

注意:三西格玛规则

exp

接受一个数字参数并返回接近该参数指数的 Float64 数字。
语法

exp(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

SELECT exp(1);

结果:

┌─exp(1)────────────────┐
│ 2.718281828459045e+00 │
└───────────────────────┘

exp10

接受一个数字参数并返回接近 10 的幂的 Float64 数字x
语法

exp10(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

SELECT exp10(3);

结果:

┌─exp10(3)─┐
│ 1e+03    │
└──────────┘

exp2

接受一个数字参数并返回接近 2 的幂的 Float64 数字x
语法

exp2(x)

参数

  • x号码。

返回值

  • 计算的结果。

计算
类型:Float64
示例

SELECT exp2(3);

结果:

┌─exp2(3)─┐
│ 8e+00   │
└─────────┘

floor

返回小于或等于 的最大整数x。整数是 1/10N 的倍数,如果 1/10N 不精确,则为最接近相应数据类型的数字。

  • N是整数常量,可选参数。默认情况下为零,表示四舍五入为整数。
  • N可能为负数。
  • x是任意数字类型。结果是相同类型的数字。

对于整数参数,用负值舍入是有意义的N(对于非负数N,该函数不执行任何操作)。
如果舍入导致溢出(例如,floor(-128, -1)),则返回特定于实现的结果。
语法

floor(x[, N])

参数

  • x号码。
  • N– 四舍五入为整数

返回值

  • 计算的结果。

类型:Float64
示例

SELECT floor(123.45, 1);

结果:

┌─floor(123.45, 1)─┐
│ 1.234e+02        │
└──────────────────┘

其他示例:

select floor(123.45, -1);

结果:

┌─floor(123.45, -1)─┐
│ 1.2e+02           │
└───────────────────┘

intExp10

接受一个数字参数并返回接近 10 的 x 次方的 UInt64 数字。
语法

intExp10(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:UInt64
示例

SELECT intExp10(3);

结果:

┌─intExp10(3)─┐
│ 1000        │
└─────────────┘

intExp2

接受一个数字参数并返回接近 2 的 x 次方的 UInt64 数字。
语法

intExp2(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:UInt64
示例

SELECT intExp2(3);

结果:

┌─intExp2(3)─┐
│ 8          │
└────────────┘

lgamma

伽马函数的对数。
语法

lgamma(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

SELECT lgamma(3);

结果:

┌─lgamma(3)─────────────┐
│ 6.931471805599453e-01 │
└───────────────────────┘

ln

接受一个数字参数并返回接近该参数自然对数的 Float64 数字。
语法

ln(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

select ln(2.7182818)

结果:

┌─ln(2.7182818)─────────┐
│ 9.999999895305024e-01 │
└───────────────────────┘

log10

接受一个数字参数并返回接近该参数的十进制对数的 Float64 数字。
语法

log10(x)
sql

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

SELECT log10(3);

结果:

┌─log10(3)───────────────┐
│ 4.7712125471966244e-01 │
└────────────────────────┘

log2

接受一个数字参数并返回接近该参数的二进制对数的 Float64 数字。
语法

log2(x)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

select log2(3);

结果:

┌─log2(3)───────────────┐
│ 1.584962500721156e+00 │
└───────────────────────┘

pi

返回接近于π的Float64数。
语法

pi()

参数

  • 不适用

返回值

  • π 的值。

类型:Float64
示例

SELECT pi();

结果:

┌─pi()──────────────────┐
│ 3.141592653589793e+00 │
└───────────────────────┘

pow

接受两个数值参数 x 和 y。返回接近 x 的 y 次方的 Float64 数字。
语法

pow(x, y)

参数

  • x号码。

返回值

  • 计算的结果。

类型:Float64
示例

SELECT pow(2, 3);

结果:

┌─pow(2, 3)─┐
│ 8e+00     │
└───────────┘

power

接受两个数值参数 x 和 y。返回接近 x 的 y 次方的 Float64 数字。
别名:pow

round

将值四舍五入到指定的小数位数。
该函数返回指定顺序的最接近数字。如果给定数字与周围数字的距离相等,则该函数对浮点数类型使用银行家舍入法,对其他数字类型则从零开始舍入。
语法

round(expression [, decimal_places])

参数

  • expression— 要四舍五入的数字。可以是任何返回数字数据类型的表达式。
  • decimal-places— 一个整数值。
    • 如果decimal-places > 0是,那么函数会将值四舍五入到小数点右边。
    • 如果decimal-places < 0是,那么函数会将值四舍五入到小数点左边。
    • 如果decimal-places = 0是,则函数将值四舍五入为整数。在这种情况下,可以省略参数。

返回值:

  • 与输入数字相同类型的舍入数字。

类型:Float64
示例

SELECT round(1.1234);

结果:

┌─round(1.1234)─┐
│ 1e+00         │
└───────────────┘

其他示例

SELECT round(1.1234,2);

结果:

┌─round(1.1234, 2)─┐
│ 1.12e+00         │
└──────────────────┘

roundAge

接受一个数字。如果数字小于 17,则返回 17。否则,将数字向下舍入为以下集合中的数字:17、25、35、45、55。此函数特定于 Yandex.Metrica,用于实现用户年龄报告。
语法

roundAge(num)

参数

  • num年龄。

返回值

  • 一个四舍五入的值..

类型:UInt8
示例

SELECT roundAge(50);

结果:

┌─roundAge(50)─┐
│ 45           │
└──────────────┘

其他示例

SELECT roundAge(16), roundAge(17),roundAge(18);

结果:

┌─roundAge(16)─┬─roundAge(17)─┬─roundAge(18)─┐
│ 17           │ 17           │ 18           │
└──────────────┴──────────────┴──────────────┘

roundDown

接受一个数字并将其向下舍入为指定数组中的元素。如果该值小于或大于边界,则返回最低或最高边界。
语法

roundDown(number, array)

参数

  • number号码。
  • array– 阵列。

返回值

  • 四舍五入的结果。

示例

SELECT roundDown(2, [6, 7, 8]);

结果:

┌─roundDown(2, [6, 7, 8])─┐
│ 6                       │
└─────────────────────────┘

roundDuration

接受一个number。如果数字小于一,则返回 0。否则,它将数字向下舍入为以下集合中的数字:1、10、30、60、120、180、240、300、600、1200、1800、3600、7200、18000、36000。此功能特定于 Yandex. Metrica,用于实现会话长度报告。
语法

roundDuration(number)

参数

  • x号码。

返回值

  • 四舍五入的结果。

示例

SELECT roundDuration(230);

结果:

┌─roundDuration(230)─┐
│ 180                │
└────────────────────┘

roundToExp2

接受number。如果number小于一,则返回 0。否则,将 向下舍入number为最接近的(非负整数)二的度数。
语法

roundToExp2(number)

参数

  • number号码。

返回值

  • 四舍五入的结果。

示例

SELECT roundToExp2(31);

结果:

┌─roundToExp2(31)─┐
│ 16              │
└─────────────────┘

sin

正弦。
语法

sin(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT sin(pi()/2)

结果:

┌─sin(divide(pi(), 2))─┐
│ 1e+00                │
└──────────────────────┘

sqrt

接受一个数字参数并返回接近该参数平方根的 Float64 数字。
语法

sqrt(x)

参数

  • x号码。

返回值

  • 平方根。

类型:Float64
示例

SELECT sqrt(4);

结果:

┌─sqrt(4)─┐
│ 2e+00   │
└─────────┘

tan

切线。
语法

tan(x)

参数

  • x– 弧度。

返回值

  • 返回弧度。

类型:Float64
示例

SELECT tan(pi()/4);

结果:

┌─tan(divide(pi(), 4))──┐
│ 9.999999999999999e-01 │
└───────────────────────┘

注意:结果具有特定的精度

tgamma

计算 arg 的伽马函数。
语法

tgamma(x)

参数

  • x号码。

返回值

  • 计算的结果。

示例

select tgamma(10);

结果:

┌─tgamma(10)─────────────┐
│ 3.6287999999999994e+05 │
└────────────────────────┘

trunc

返回绝对值最大的整数,该整数的绝对值小于或等于x。在其他所有方面,它与“floor”函数相同(参见上文)。
语法

trunc(x[, N])
truncate(x[, N])

参数

  • x号码。
  • N小数点后四舍五入为整数。

返回值

  • 路由号码。

示例

SELECT trunc(100.11, 1)

结果:

┌─trunc(100.11, 1)─┐
│ 1.001e+02        │
└──────────────────┘

truncate

从表中删除所有数据。当IF EXISTS省略该子句时,如果表不存在,查询将返回错误。
TRUNCATE查询不支持视图、文件、URL、缓冲区和空表引擎。
语法

TRUNCATE TABLE [IF EXISTS] [db.]name 

参数

  • name– 表名称。
  • [IF EXISTS]可选,如果表不存在,查询将返回错误。
  • [db.]可选,数据库名称。
  • 可选,集群名称。

返回值

  • 不适用

示例

CREATE TABLE test.test_truncate (id Int32) ENGINE = CnchMergeTree ORDER BY id;
INSERT INTO test.test_truncate(id) VALUES(1),(2),(3),(4),(5); -- insert 1,2,3,4,5 to table
SELECT * FROM test.test_truncate; -- check the date before truncate
┌─id─┐
│ 1  │
│ 2  │
│ 3  │
│ 4  │
│ 5  │
└────┘
TRUNCATE TABLE test.test_truncate
SELECT * FROM test.test_truncate