SQL Aggregate 函数(聚合函数)计算从列中取得的值,返回一个单一的值。
- AVG() - 返回平均值
- COUNT() - 返回记录行数
- MAX() - 返回最大值
- MIN() - 返回最小值
- SUM() - 返回总和
GROUP BY 语句可结合一些聚合函数来使用
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组
例:SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。
例:(aggregate_function是聚合函数,如sum()、max()等,condition是要进行筛选的条件)
SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1 HAVING condition;
EXISTS 运算符
用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。(condition是筛选条件)
例:
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);
EXISTS 也可以与 NOT 一同使用,查找出不符合查询语句的记录
例:
SELECT Websites.name, Websites.url FROM Websites WHERE NOT EXISTS (SELECT count FROM access_log WHERE Websites.id = access_log.site_id AND count > 200);
SQL Scalar 函数(标准函数)基于输入值,返回一个单一的值。
- UCASE() - 将某个字段转换为大写
SELECT UCASE(column_name) FROM table_name;
- LCASE() - 将某个字段转换为小写
- SubString(字段,1,end) - 从某个文本字段提取字符
- LEN() - 返回某个文本字段的长度
- ROUND() - 对某个数值字段进行指定小数位数的四舍五入
SELECT ROUND(column_name,decimals) FROM TABLE_NAME;
column_name:必需,要舍入的字段
decimals:可选。规定要返回的小数位数。
- NOW() - 返回当前的系统日期和时间
- FORMAT() - 格式化某个字段的显示方式