MySQL从头至尾汇总(5.执行篇)

来源:互联网 发布:剑三令狐伤捏脸数据 编辑:程序博客网 时间:2024/06/04 01:36

这一节讲解MySQL的基本执行篇,按列排序,分组等等

ORDER BY 排序

语法:
ORDER BY 字段

通过指定的字段进行排序,返回搜索结果。

SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:

SELECT field1, field2,...fieldN table_name1, table_name2...ORDER BY field1, [field2...] [ASC [DESC]]

可以以多个字段作为排序条件进行排序后,返回搜索结果

ASC 查询结果以升序排列
DESC 查询结果以降序排列。
默认情况下,按升序排列。

也可以添加 WHERE…LIKE 子句来设置条件,去除不需要的数据

例:

按升序及降序排列。

li

加入 where like子句设置条件
li
li

注:

WHERE LIKE等子句要放在order by的前面,理解时可以类比order by为管道

字符排序是按常规字符比较utf8中对应数值的大小

UNION 操作符

当需要连接两个或俩个以上的 SELECT 语句的结果 ,并组合到一个集合中时,采用。

语法:

SELECT expression1, expression2, ... expression_nFROM tables[WHERE conditions]UNION [ALL | DISTINCT]SELECT expression1, expression2, ... expression_nFROM tables[WHERE conditions];

DISTINCT: 可选参数,不显示结果集中重复的数据。
默认情况下 为 DISTINCT。
ALL: 可选,返回所有结果集,包含重复数据。

例:

默认 distinct参数
li
all参数
例

GROUP BY 语句

通过某一条件对一个或多个列进行分组(将相同的合并为一个组)时采用。
语法:

SELECT column_name, function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name;

在分组的列上可以使用 COUNT, SUM, AVG等MySQL函数。
也可以使用WHERE来筛选指定匹配项

例:

使用 GROUP BY 语句 将数据表按insert_priv(的 Y 与 N)进行分组,并统计每个选项有多少条记录:

 SELECT insert_priv , count(*) from db group by insert_priv;

例子

分组(GROUP BY)后接的项,与查询项一定要一致
相当于从管道里进行分组,然后经过count()函数运算,得出结果。

下一篇,函数篇