黑马程序员---mysql数据库---排序与分页

一:排序:
1:查询年龄在18到34岁之间的男性,按照年龄从小到大到排序(默认是asc升序)

mysql> select * from students where  (age between 18 and 34) and (gender="男") order by age ;
+----+--------------+------+--------+--------+--------+-----------+
| id | name         | age  | height | gender | cls_id | is_delete |
+----+--------------+------+--------+--------+--------+-----------+
|  9 | 程坤         |   27 | 181.00 ||      2 |           |
| 16 | 司马二狗     |   28 | 120.00 ||      1 |           |
|  3 | 彭于晏       |   29 | 185.00 ||      1 |           |
+----+--------------+------+--------+--------+--------+-----------+
3 rows in set (0.00 sec)

2:查询年龄在18到34岁之间的女性,身高从高到矮排序


mysql> select * from students where (age between 18 and 34) and (gender="女") order by height desc ;
+----+-----------+------+--------+--------+--------+-----------+
| id | name      | age  | height | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
|  1 | 小明      |   18 | 180.00 ||      1 |           |
|  2 | 小月月    |   18 | 180.00 ||      2 |          |
| 15 | 凌小小    |   28 | 180.00 ||      1 |           |
| 14 | 周杰      |   34 | 176.00 ||      5 |           |
|  7 | 王祖贤    |   18 | 172.00 ||      1 |          |
| 10 | 刘亦菲    |   25 | 166.00 ||      2 |           |
+----+-----------+------+--------+--------+--------+-----------+
6 rows in set (0.00 sec)

3:查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从大到小排序

mysql> select * from students where (age between 18 and 34) and (gender="女") order by height desc ,age desc;
+----+-----------+------+--------+--------+--------+-----------+
| id | name      | age  | height | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| 15 | 凌小小    |   28 | 180.00 ||      1 |           |
|  1 | 小明      |   18 | 180.00 ||      1 |           |
|  2 | 小月月    |   18 | 180.00 ||      2 |          |
| 14 | 周杰      |   34 | 176.00 ||      5 |           |
|  7 | 王祖贤    |   18 | 172.00 ||      1 |          |
| 10 | 刘亦菲    |   25 | 166.00 ||      2 |           |
+----+-----------+------+--------+--------+--------+-----------+
6 rows in set (0.00 sec)

4:查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从大到小排序,如果年龄也相同那么按照id从大到小排序

mysql> select * from students where (age between 18 and 34) and (gender="女") order by height desc ,age desc,id desc;
+----+-----------+------+--------+--------+--------+-----------+
| id | name      | age  | height | gender | cls_id | is_delete |
+----+-----------+------+--------+--------+--------+-----------+
| 15 | 凌小小    |   28 | 180.00 ||      1 |           |
|  2 | 小月月    |   18 | 180.00 ||      2 |          |
|  1 | 小明      |   18 | 180.00 ||      1 |           |
| 14 | 周杰      |   34 | 176.00 ||      5 |           |
|  7 | 王祖贤    |   18 | 172.00 ||      1 |          |
| 10 | 刘亦菲    |   25 | 166.00 ||      2 |           |
+----+-----------+------+--------+--------+--------+-----------+
6 rows in set (0.00 sec)

二:分页:
1:分页查询的语法

select * from 表名 limit start,count

说明:

limit是分页查询关键字
start表示开始行索引,默认是0
count表示查询条数
例1:查询前3行男生信息:

select * from students where gender=1 limit 0,3;
简写
select * from students where gender=1 limit 3;

2:分页查询案例
已知每页显示m条数据,求第n页显示的数据

提示: 关键是求每页的开始行索引

查询学生表,获取第n页数据的SQL语句:

select * from students limit (n-1)*m,m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奈何碎银没有几两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值