统计函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
注意:位置在select之后,from之前
- AVG() - 返回数值列的平均值。
SELECT AVG(column_name) FROM table_name
- COUNT() - 返回匹配指定条件的行数。
SELECT COUNT(column_name) FROM table_name;
#distinct 用法适用于oracle 和 SQL server 不适用Access
SELECT COUNT(DISTINCT column_name) FROM table_name;
- FIRST() - 返回第一个记录的值————MS access
- LAST() - 返回最后一个记录的值————MS Access
first 和 last 函数用法一致,注意取值之后的排序(order by desc&asc)
#取第一个和最后一个
#MS Access
SELECT FIRST(column_name) FROM table_name;
#MySQL
SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;
注意关键字的处理顺序
以上MySQL中的SQL语句说明数据处理流程为:查找,排序,取值
再记一遍
SQL server —— TOP ,示例:SELECT TOP 1 column_name FROM table_name
MySQL —— limit,放在select语句最后
Oracle —— ROWNUM ,示例:select *** where rownum <=1;
- MAX() - 返回指定列的最大值。
SELECT MAX(column_name) FROM table_name;
- MIN() - 返回最小值
SELECT MIN(alexa) AS min_alexa FROM Websites;
- SUM() - 返回数值列的总数。
SELECT SUM(column_name) FROM table_name;
Scalar 函数
位置在select 之后,from之前
- UCASE() - 将某个字段的值转换为大写
- LCASE() - 将某个字段转换为小写
SELECT UCASE(column_name) FROM table_name;
SELECT LCASE(column_name) FROM table_name;
- MID() - 从某个文本字段提取字符,MySql 中使用
- SubString(字段,1,end) - 从某个文本字段提取字符
SELECT MID(column_name,start[,length]) FROM table_name;
- LEN() - 返回某个文本字段的长度
#SQL
SELECT LEN(column_name) FROM table_name;
#MySQL
SELECT LENGTH(column_name) FROM table_name;
- ROUND() - 对某个数值字段进行指定小数位数的四舍五入
注意:ROUND 返回值被变换为一个BIGINT!
默认decimals 的值为0
SELECT ROUND(column_name,decimals) FROM table_name;
- NOW() - 返回当前的系统日期和时间
SELECT NOW() FROM table_name;
#示例
SELECT name, url, Now() AS date
FROM Websites;
- FORMAT() - 用于对字段的显示进行格式化。
SELECT FORMAT(column_name,format) FROM table_name;