1. 操作类函数
这一类函数针对数据结构,表格进行筛选操作
1.1 GROUP BY
根据某个单一列中属性或者多个列对结果集进行分组
sql
SELECT column1, SUM(column2)
FROM table
GROUP BY column1;
上述代码将所选择列进行column1中的属性分组,作为每一行的索引,统计出column1对应的属性中column2的总和
使用GROUP BY分组之后条件筛选需要使用HAVING而不是WHERE
1.2 HAVING
HAVING的功能与WHERE很像,都是对于数据进行筛选
但WHERE无法筛选GROUP BY分组之后的数据,所以我们需要用到HAVING
sql
SELECT column1 , SUM(column2)
FROM Table
GROUP BY column1
HAVING SUM(column2) <>= xxx;
1.3 EXISTS
用于判断子句是否存在
sql
SELECT column1
FROM table
WHERE EXISTS/NOT EXISTS
(SELECT column FROM table WHERE condition);
2. Aggregate函数
这一类函数计算从列中所取得的值,返回一个单一值
2.1 AVG()
返回列数据的平均值
sql
SELECT AVG(column1) FROM xxx;
2.2 COUNT
返回列数据数据的总数,不包含null
sql
SELECT COUNT(column1) FROM xxx;
SELECT COUNT(DISTINCT column2) AS new_column FROM;
2.3 LIMIT
通过限制,我们可以按照表格某种顺序选取第一个/最后一个出现的元素
注:跟在排序之后
sql
SELECT column1 FROM table
ORDER BY column1 DESC/ASCE
LIMIT 1;
使用LIMIT去限制第几个
2.4 MAX
返回列的最大值
sql
SELECT MAX(COLUMN1) FROM table;
2.5 MIN
返回列的最小值
sql
SELECT MIN(COLUMN1) FROM table;
2.6 SUM
返回数值列数据的总和
sql
SELECT SUM(column1) FROM table;
3. Saclar函数
这一类函数会基于输入的值返回一个单一值
常见于字符操作,文本操作中
3.1 UCASE
将字段的值转换为大写
sql
SELECT UCASE(column1) FROM table;
3.2 LCASE
将字段的值转换为小写
sql
SELECT LCASE(column1) FROM table;
3.3 MID
从文本字段中提取字符
sql
SELECT MID(column,start,length) FROM table1;
|--------|-----------|
| column | 提取的列 |
| start | 需要提取的起始位置 |
| length | 字段的长度 |
3.4 LEN
返回某一列各个数据长度
sql
SELECT name, LEN(url) AS LEN_url FROM table;
3.5 ROUND
将数据四舍五入,decimal表示小数点后几位
sql
SELECT ROUND(column1,decimals) FROM table;
3.6 NOW
返回当前系统的日期时间
sql
SELECT NOW() AS now_time FROM table;
3.7 FORMAT
对于数据内容进行格式化
sql
SELECT FORMAT(column,format) FROM table;
|--------|--------------|
| column | 需要进行格式化的字段,列 |
| format | 格式化规定的格式 |