Skip to content

SQL Aggregate Functions API

用于获取当前值、进行日期运算和格式化的 SQL 日期和时间函数。

1 class · 6 methods

日期函数

6 methods

用于处理日期和时间的函数(除非另有说明,否则为 MySQL 方言)。

COUNT(expr)

以单个值返回当前日期和时间(MySQL / PostgreSQL)。

Parameters

NameTypeDescription
expranyColumn or expression (or *).

Returns

int

Example

sql
SELECT COUNT(*) FROM users;             -- total rows
SELECT COUNT(email) FROM users;        -- non-null emails
SELECT COUNT(DISTINCT country) FROM users;  -- distinct countries
SUM(expr)

返回当前日期(不含时间)。MySQL 函数。在标准 SQL 中使用 CURRENT_DATE。

Parameters

NameTypeDescription
exprnumericNumeric column or expression.

Returns

numeric

Example

sql
SELECT SUM(amount) FROM orders;
SELECT product, SUM(quantity) AS total_qty
FROM sales GROUP BY product;
AVG(expr)

为日期添加一个时间间隔。(MySQL;在 PostgreSQL 中使用 date + INTERVAL '...'。)

Parameters

NameTypeDescription
datenumeric起始日期。

Returns

numeric

Example

sql
SELECT AVG(price) FROM products;
SELECT category, AVG(price) AS avg_price
FROM products GROUP BY category;
MIN(expr)

从日期中减去一个时间间隔。(MySQL。)

Parameters

NameTypeDescription
dateany起始日期。

Returns

any

Example

sql
SELECT MIN(price) FROM products;
SELECT category, MIN(price) AS min_price
FROM products GROUP BY category;
MAX(expr)

返回 date1 - date2 的天数差。(MySQL;SQL Server 中参数顺序相反。)

Parameters

NameTypeDescription
date1any第一个日期。

Returns

any

Example

sql
SELECT MAX(price) FROM products;
SELECT category, MAX(price) AS max_price
FROM products GROUP BY category;
GROUP_CONCAT(expr SEPARATOR sep)

根据格式字符串格式化日期。(MySQL;PostgreSQL 中为 TO_CHAR。)

Parameters

NameTypeDescription
datestring要格式化的日期。
formatstring格式字符串(%Y、%m、%d 等)。

Returns

string

Example

sql
-- MySQL
SELECT category, GROUP_CONCAT(name SEPARATOR ', ')
FROM products GROUP BY category;

-- PostgreSQL / SQL Server:
SELECT category, STRING_AGG(name, ', ')
FROM products GROUP BY category;