SQL Functions(函数)
概述
参考:
内置函数
参考:
函数名 | 功能 | 启用版本 | 弃用版本 |
---|---|---|---|
REPLACE() | 替换掉指定字符串 | ||
REGEXP_REPLACE() | 替换掉使用正则表达式匹配到的字符串 | 8.0.4 | |
SUBSTRING_INDEX() | 从指定出现次数的分隔符之前的字符串中返回子字符串 | ||
聚合函数
参考:
Aggregate Function(聚合函数) 通常与 group by
关键字一起使用,用于将值进行分组。
Name | Description | Introduced |
---|---|---|
AVG() | Return the average value of the argument | |
BIT_AND() | Return bitwise AND | |
BIT_OR() | Return bitwise OR | |
BIT_XOR() | Return bitwise XOR | |
COUNT() | Return a count of the number of rows returned | |
COUNT(DISTINCT) | Return the count of a number of different values | |
GROUP_CONCAT() | Return a concatenated string | |
JSON_ARRAYAGG() | Return result set as a single JSON array | 5.7.22 |
JSON_OBJECTAGG() | Return result set as a single JSON object | 5.7.22 |
MAX() | Return the maximum value | |
MIN() | Return the minimum value | |
STD() | Return the population standard deviation | |
STDDEV() | Return the population standard deviation | |
STDDEV_POP() | Return the population standard deviation | |
STDDEV_SAMP() | Return the sample standard deviation | |
SUM() | Return the sum | |
VAR_POP() | Return the population standard variance | |
VAR_SAMP() | Return the sample variance | |
VARIANCE() | Return the population standard variance |
GROUP BY
参考:
group by
可以脱离聚合函数单独使用,此时不在 group by 分组的列将会取其中第一行的值。
如果想要对数据进行分组后取到最新的值,还需要使用 row_number()
函数(8.0+版本),或者某些分组编号功能(此时编号为 1 的就是每组最新的值)。
HAVING
having 与 group by 之间的用法,暂时找不到一个可以描述清楚的文章,但是事实是,having 可以单独使用,并在外层再套一个 select 后执行 group by 以实现分组后取最新值的效果。
select
*
from
(
SELECT
FROM
t_diversion diversion
WHERE
diversion.is_deleted = 0
HAVING
1
ORDER BY
diversion.updated_at desc
) t
GROUP BY
t.datalakeName,
t.privateNetName
此时可以取到 diversion 表中,按照 datalakeName 和 privateNetName 分组后,每组中最新的一条数据。
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.