网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2014-11-06 16:11:07

admin
管理员

mysql中如何多结果进行排序

排序使用 order by 


创建一个表插入数据

create  table tb_003 ( id int unsigned not null auto_increment primary key, name varchar(20), age tinyint , weight  tinyint );
insert into tb_003 (name, age, weight) values ('name1', '2', '100'), ('name2', '2', '90'), ('name3', '1', '80'), ('name4', '3', '95') ;

按照age排序 , 

mysql> select * from tb_003 order by age;
+----+-------+------+--------+
| id | name  | age  | weight |
+----+-------+------+--------+
|  3 | name3 |    1 |     80 |
|  1 | name1 |    2 |    100 |
|  2 | name2 |    2 |     90 |
|  4 | name4 |    3 |     95 |
+----+-------+------+--------+
4 rows in set (0.01 sec)

mysql> select * from tb_003 order by age desc;
+----+-------+------+--------+
| id | name  | age  | weight |
+----+-------+------+--------+
|  4 | name4 |    3 |     95 |
|  1 | name1 |    2 |    100 |
|  2 | name2 |    2 |     90 |
|  3 | name3 |    1 |     80 |
+----+-------+------+--------+
4 rows in set (0.00 sec)

可以看出添加一个 desc 就是使用逆序排列。

这里如何先按照age排, 之后按照 weight排列。 age是逆序(大的在前),  weight 正序 (小的在前)

mysql> select * from tb_003 order by age desc , weight asc ;
+----+-------+------+--------+
| id | name  | age  | weight |
+----+-------+------+--------+
|  4 | name4 |    3 |     95 |
|  2 | name2 |    2 |     90 |
|  1 | name1 |    2 |    100 |
|  3 | name3 |    1 |     80 |
+----+-------+------+--------+

这里同时用两个字段进行了排序。

一个age, 一个weight 。

写法  

order by age desc , weight asc ;

默认就是asc


ipbbs.net

离线

页脚

Powered by FluxBB