SQL数据库语法和分组函数的学习笔记
树图思维导图提供 SQL语法速成手册排序分组和函数 在线思维导图免费制作,点击“编辑”按钮,可对 SQL语法速成手册排序分组和函数 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:3bf42853ebd0b881d1a7408d40c8314f
SQL语法速成手册排序分组和函数思维导图模板大纲
文本处理
其中, SOUNDEX() 可以将一个字符串转换为描述其语音表示的字母数字模式。
SELECT *
FROM mytable
WHERE SOUNDEX(col1) = SOUNDEX('apple')
日期和时间处理
日期格式:YYYY-MM-DD
时间格式:HH:MM:SS
代码示例:
mysql> SELECT NOW();
2018-4-14 20:25:11
汇总
使用 DISTINCT 可以让汇总函数值汇总不同的值。
SELECT AVG(DISTINCT col1) AS avg_col
FROM mytable
ORDER BY
ORDER BY 用于对结果集进行排序。
ASC :升序(默认)
DESC :降序
可以按多个列进行排序,并且为每个列指定不同的排序方式
指定多个列的排序方向
SELECT * FROM productsORDER BY prod_price DESC, prod_name ASC;
GROUP BY
概述
GROUP BY 子句将记录分组到汇总行中。
GROUP BY 为每个组返回一个记录。
GROUP BY 通常还涉及聚合:COUNT,MAX,SUM,AVG 等。
GROUP BY 可以按一列或多列进行分组。
GROUP BY 按分组字段进行排序后,ORDER BY 可以以汇总字段来进行排序。
分组
SELECT cust_name, COUNT(cust_address) AS addr_num
FROM Customers GROUP BY cust_name;
分组后排序
SELECT cust_name, COUNT(cust_address) AS addr_num
FROM Customers GROUP BY cust_name
ORDER BY cust_name DESC;
HAVING
概述
HAVING 用于对汇总的 GROUP BY 结果进行过滤。
HAVING 要求存在一个 GROUP BY 子句。
WHERE 和 HAVING 可以在相同的查询中。
HAVING vs WHERE
WHERE 和 HAVING 都是用于过滤。
HAVING 适用于汇总的组记录;而 WHERE 适用于单个记录。
使用 WHERE 和 HAVING 过滤数据
SELECT cust_name, COUNT(*) AS num
FROM Customers
WHERE cust_email IS NOT NULL
GROUP BY cust_name
HAVING COUNT(*) >= 1;
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 光和影 在线思维导图免费制作,点击“编辑”按钮,可对 光和影 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2f4c9606f70a3f8d98ec4d65695dc3d1