首页 > 数据库 >MySQL学习日志九,分页和排序

MySQL学习日志九,分页和排序

时间:2023-05-14 13:22:07浏览次数:25  
标签:JOIN -- 查询 studentno studentresult subjectno MySQL 日志 排序

一、排序查询

  • order by 排序

    • 升序 ASC

    • 降序 DESC

1.升序排序

-- 查询参加考试的同学,包含的信息包括学号,姓名,科目名,分数(以分数升序展示)
SELECT s.studentno,studentname,subjectname,studentresult
FROM student s
INNER JOIN result r
ON s.studentno=r.studentno
inner JOIN `subject` sub
on r.subjectno=sub.subjectno
ORDER BY studentresult ASC

2.降序排序

-- 查询参加考试的同学,包含的信息包括学号,姓名,科目名,分数(以分数降序展示)
SELECT s.studentno,studentname,subjectname,studentresult
FROM student s
INNER JOIN result r
ON s.studentno=r.studentno
inner JOIN `subject` sub
on r.subjectno=sub.subjectno
ORDER BY studentresult DESC

二、分页查询

  • limit(起始下标,页面大小) 分页

  • 起始下标=(第几页面数-1) *页面大小 pageIndex

  • 页面大小 pageSize

  • 总页数=总数据条数 / 页面大小 pageCounts

分页的操作必须放在最后

pageSize:页面大小

(n-1)*pageSize:起始值

n:当前页

数据总数/页面大小 = 总页数

语法:limit(查询起始下标,pageSize)

例子

-- 查询参加考试的同学,包含的信息包括学号,姓名,科目名,分数(以分数降序展示)
-- LIMIT 起始下标,页面大小
-- 查询前面六位的同学

SELECT s.studentno,studentname,subjectname,studentresult
FROM student s
INNER JOIN result r
ON s.studentno=r.studentno
inner JOIN `subject` sub
on r.subjectno=sub.subjectno
ORDER BY studentresult DESC
LIMIT 1,2

-- 查询考试成绩前十名的同学(学号,姓名,成绩)
SELECT s.studentno,studentname,studentresult
from student s
INNER JOIN result r
on s.studentno=r.studentno
order by studentresult DESC
LIMIT 0,10

 
-- 查询考试成绩大于80分,并且排在排在前1名的同学(学号,姓名,成绩)
SELECT s.studentno,studentname,studentresult
from student s
INNER JOIN result r
on s.studentno=r.studentno
WHERE studentresult>80
ORDER BY studentresult DESC
limit 0,1

标签:JOIN,--,查询,studentno,studentresult,subjectno,MySQL,日志,排序
From: https://www.cnblogs.com/yzx-sir/p/17398349.html

相关文章

  • 容错控制,,冗余控制,热备用,MMC,级联h桥,排序均衡,容错控制,冗余控制,容错控制,冗余控制,仿真仅
    容错控制,,冗余控制,热备用,MMC,级联h桥,排序均衡,容错控制,冗余控制,容错控制,冗余控制,仿真仅供自己使用ID:96400674704374990......
  • Java:SpringBoot整合MyBatis-Plus实现MySQL数据库的增删改查
    MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。文档https://baomidou.com/目录一、引入坐标二、配置三、CURD测试四、API数据接口一、引入坐标<dependency><groupId>com.baomidou</groupId><artifactId>m......
  • MySQL text类型出现报错 Data truncation: Data too long for column...
    MySQL5.7数据库字段类型为:text 代码中限制了长度为50000 结果出现异常 结论:MySQL5以上版本中varchar类型的长度限制是以字符数为单位的,比如:“你好”是2个字符text类型则是以字节数为单位的,这里我们的数据库字段编码为utf8mb4,每个中文字符占3个字节,所以“你好”是......
  • mysql数据库导出数据字典
     原文地址:https://blog.csdn.net/qq_45047809/article/details/113944103csdn登录后才能复制,故转载过来方便复制。导出hr和attendance表。SELECTTABLE_NAMEAS'表名',COLUMN_NAMEAS'字段名',COLUMN_TYPEAS'数据类型',IS_NULLABLEAS'允许为空......
  • Python学习之六_同时访问Oracle和Mysql的方法
    Python学习之六_同时访问Oracle和Mysql的方法背景jaydebeapi可以访问大部分数据库.但是他有一个问题是仅能够访问一种类型的数据库.如果同事连接两种数据库,那么就会出现问题会有如下的提示:TypeError:Classcom.mysql.cj.jdbc.Driverisnotfound网上有方法是修改j......
  • 利用ReliefF算法对特征变量做重要性排序,实现特征选择。
    利用ReliefF算法对特征变量做重要性排序,实现特征选择。替换数据即可。基于relieff算法的分类预测。通过重要性排序图,选择重要的特征变量,来实现数据降维的目的。matlab语言。ID:7325695901106306......
  • oracle根据 部署环境日志SQL查询中格式不正确 ORA-01810
    --查询TESTDATE数据表中,指定日期的所有字段SELECT*FROMXXCWHEREC.CREATEDATE=TO_DATE('2022-12-2308:50:44','yyyy-MM-ddHH24:mm:ss');ORA-01810报错在进行TO_DATE或者TO_STAMP的操作sql还是报错;由于Oracle中的格式化字符串不区分大小写,所以月份的MM和......
  • 【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无
    Warning:Unexpectedcallto'log'onthecontextobjectafterfunctionexecutionhascompleted.Pleasecheckforasynchronouscallsthatarenotawaitedorcallsto'done'madebeforefunctionexecutioncompletes.Th......
  • MySQL学习日志八,自连接
    第一步,在school建立category表CREATETABLE`category`(`categoryid`intNOTNULL,`pid`intDEFAULTNULL,`categoryname`varchar(255)DEFAULTNULL,PRIMARYKEY(`categoryid`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb3顺带填一下数据昂题目:查询对应的子......
  • MySQL连接时报1040 Too many connections
    1发现问题最近使用mysql5.7的时候连接公司系统数据库时发现提示报错,出现mysqltoomanyconnection的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。2解决过程2.1首先登录mysql终端,输入showvariableslikemax_connections,查看最大连接......