一、order by 语句排序
order by是按照字段值进行排序的,排序分为升序和降序即:asc和desc是由校对规则决定排序关系的。
也就是说order by 先根据第一个字段排序,然后在第一个字段排序的基础之上再根据第二个字段排序。以此类推。
select * from tbl_name order by 字段1 desc|dsc ,字段2 desc|dsc, 字段3....;
二、limit 语句
limit语句用来返回限制的行数,比如:查询第3到第5行的记录。
这是分页操作的重要应用。
select * from tbl_name limit offset(开始索引),row_count(行数量);
注意:mysql的索引是从0开始的。第一句话的意思就是:从第3个索引开始,查找5条记录。
三、distinct语句:去掉重复记录
重复记录是指字段值都相同的记录,不是部分字段值相同。
例如查询某个字段并去除重复字段
select distinct 字段值 from tbl_name;
select distinct 字段值1,字段值2,..... from tbl_name;
相对的是all 语句,默认就是all 语句。
四、Union联合操作
将多条select语句的结果合并到一起。称之为联合操作。例如:
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语句后,增加相应的排序规则即可。