您的位置:首页 > 数据库 > MySQL

mysql学习之八mysql的排序order by 语句,limit语句返回记录数限制,distinct去掉重复记录语句,union联合查询语句。

2019-01-20 12:58 701 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33322074/article/details/86559749

一、order by  语句排序

order by是按照字段值进行排序的,排序分为升序和降序即:asc和desc是由校对规则决定排序关系的。

也就是说order by 先根据第一个字段排序,然后在第一个字段排序的基础之上再根据第二个字段排序。以此类推。

[code]select * from tbl_name order by 字段1 desc|dsc ,字段2 desc|dsc, 字段3....;

二、limit 语句

limit语句用来返回限制的行数,比如:查询第3到第5行的记录。

这是分页操作的重要应用。

[code]select * from tbl_name limit offset(开始索引),row_count(行数量);

注意:mysql的索引是从0开始的。第一句话的意思就是:从第3个索引开始,查找5条记录。

三、distinct语句:去掉重复记录

重复记录是指字段值都相同的记录,不是部分字段值相同。

例如查询某个字段并去除重复字段

[code]select distinct 字段值 from tbl_name;

select distinct 字段值1,字段值2,..... from tbl_name;

相对的是all 语句,默认就是all 语句。

四、Union联合操作

将多条select语句的结果合并到一起。称之为联合操作。例如:

[code]select 字段1,字段2,....from tbl_name where 字段n='xxxx' order by desc| dsc limit n; 

上面一句用了where,order by,limit三个关键字。一定要一句一句理解。联合查询就是用union关键字将两个查询语句连接起来。不过每个语句用括弧括起来了。

注意:union结果会自动将重复的记录删除掉,相当于默认执行了distinct关键字。那么如何不让它删除重复记录呢,就要在union后面加上all 关键字

注意:在子语句的排序中,有两点需要注意,

注意:子语句的括弧不是必须的,没有括弧也可以,不过开发人员可读性差。

3、对所有结果进行统一性排序

只需要在最后一个select语句后,增加相应的排序规则即可。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: