mysql分组、分页、链接语句

1.排序
(1)asc 升序(默认可以省略)

select * from 表名 order by 字段名 asc;

(2)desc 降序

select * from 表名 order by 字段名 desc;

2.聚合函数
(1)count 总数

select count(*) from 表名;

(2)最大值

select max(字段) from 表名;

(3)最小值:

select min(字段) from 表名;

(4)求和:

select sum(字段) from 表名;

(5)平均值

select avg(字段) from 表名;

3.分组

select 字段1 from 表名 group by 字段1;

group by + group_concat()
group_concat(字段名)可以作为一个输出字段来使用,
表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合

group by + 聚合函数

通过group_concat()的启发,我们既然可以统计出每个分组的某字段的值的集合,那么我们也可以通过集合函数来对这个值的集合做一些操作

group by + having

having 条件表达式:用来分组查询后指定一些条件来输出查询结果

4.分页

select 字段1 from 表名 limit 开始数据的位置 ,数据个数;
注意:要达到数据不重复分页,开始数据的位置 = 数据个数*(页数-1)

5.链接:
(1)内链接

select * from 表1 inner join 表2 on 表1.字段=表2.字段;

(2)左链接

select * from 表1 left join 表2 on 表1.字段=表2.字段;

(3)右链接

select * from 表1 right join 表2 on 表1.字段=表2.字段;

6.自关联

select * from 表1 as 别名1 inner join 表1 as 别名2 on 别名1.字段=别名2.字段;

我的理解:就是把一张表通过起别名变成两张表,还是相当于两张表链接。
8.子查询:在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句。
例如:

select * from 表名 where 字段 = (select max(字段) from 某一张表 );

猜你喜欢

转载自blog.csdn.net/zhangbiaoxiaoming/article/details/84948694
今日推荐