Want to know what rules mysql order by sorting is based on? This article mainly introduces the Order By multi-field sorting rule code example in MySQL. The editor thinks it is quite good. I will share it with you here. Friends who need it can refer to it. I hope it can help everyone.
MySql order by single field
Create a test table as follows:
CREATE TABLE `a` ( `code` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT into a values('中一', '我'); INSERT into a values('中二', '你'); INSERT into a values('高一', '我是'); INSERT into a values('高二', '我们'); INSERT into a values('高二', '我的');
The test statement is as follows:
-- hex(): 获取16进制字节码 select name, hex(name) from a order by name desc
The result is as follows:
name | hex(name) |
My | E68891E79A84 |
Me It’s | E68891E698AF |
E68891E4BBAC | |
E68891 | |
E4BDA0 |
MySql order by multiple fields
-- 按照name进行降序排序 select * from a order by name desc; -- 按照code进行降序排序 select * from a order by code desc;The left side is order by name desc, and the right side is the result of order by code desc
name | |
我的 | |
我是 | |
我们 | |
我 | |
你 |
name | |
我们 | |
我 | |
I am | |
你 | |
我 |
Let’s take a look at multi-field sorting
-- 按照code, name进行降序排序 select * from a order by code, name desc;
name | |
我 | |
你 | |
I am | |
我的 | |
Our |
After testing, it was found that the sorting effect of select * from an order by code and name desc is still invalid.
We are looking at the following statement
-- 按照code, name进行降序排序 select * from a order by code desc, name desc; -- 该语句的效果等同于下面的语句, 其中1、2分别对应的是code、name select code, name from a order by 1 desc, 2 desc;
name | |
我的 | |
我们 | |
I am | |
你 | |
我 |
In addition, we can also use the contat function to splice multiple fields together and sort them. But make sure the field cannot be null. Let's take a look at the sql statement and results of concat.
select * from a order by concat(code,name) desc
name | |
My | |
我们 | |
我是 | |
你 | |
我 |
Related recommendations:
MySQL Order by statement optimization code detailed explanationCharacter order of order by in in mysql (recommended)MySQL Order By usage sharingThe above is the detailed content of Detailed explanation of Order By multi-field sorting rules in MySQL. For more information, please follow other related articles on the PHP Chinese website!