MySql(8)排序和分页

Mysql专栏入口

数据库sql文件链接如下
链接:https://pan.baidu.com/s/1g6GKTZ6GVg04gxs4VzhxJA
提取码:ttst
专栏中有mysql的导入导出,里面有教如何导入

一、排序

如果没有使用排序操作,默认情况下返回的数据是按照添加数据的顺序显示的。
练习:按照 monthly_income2 从高到低排序 默认ASC(升序)

SELECT * FROM account ORDER BY monthly_income DESC

排序和分组的组合使用
练习: 月工资大于5000的从高到底排序

SELECT * FROM account WHERE monthly_income > 5000 ORDER BY monthly_income DESC

– as 和 where 和 order by
– 小练习:查询大于5000的月工资,给月工资一个别名叫"月工资"然后使用别名进行排序

SELECT
	account_id,
	monthly_income AS "月工资" 
FROM
	account 
WHERE
	monthly_income > 5000 
ORDER BY
	monthly_income

– 小练习:对cust_id降序,open_emp_id升序

SELECT
	cust_id,
	open_emp_id 
FROM
	account 
ORDER BY
	cust_id DESC,
	open_emp_id ASC

二、 分页

limit需要两个参数 分别是 偏移量,条目数 写法就是 limit 0,5 这句话的意思就是从第0条数据开始,取5条数据当作一页

练习:将前五条数据当作一页取出

SELECT * FROM account LIMIT 0,5

在这里插入图片描述
第二页呢?如何取。只需要把偏移量调整到5就可以。如下所示

SELECT * FROM account LIMIT 5,5

在这里插入图片描述
这时总结一个公式,求第x页我们的limit该如何去写?(每页的数据为pageSzie条)

公式:
limit (x-1) * pageSize,pageSize

2.1 where,order by,limit结合使用

练习:

	我需要展示三个字段分别是:
		account_id,monthly_income,product_cd.
	需要同时满足以下三个条件
		1.月工资大于2000的记录
		2.降序排列(由大到小)
		3.只要前五条

实现:

SELECT
	account_id,
	monthly_income,
	product_cd 
FROM
	account 
WHERE
	monthly_income < 2000 
ORDER BY
	monthly_income DESC 
	LIMIT 0,5

还可以再limit部分简写为 limit 5

结果展示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值