专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > MySQL培训 > MySQL课程 > MySQL培训教程:排序、限制与分组命令

MySQL培训教程:排序、限制与分组命令

文章来源: 更新时间:2016/7/15 14:30:37

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

MySQL培训教程:排序、限制与分组命令,当我们得到很长的一列数据时,可以把数据按指定的顺序输出。使用ORDERBY子句可以为数据进行排序。假设,我们想从数据库中查询威廉·莎士比亚(WilliamShakespeare)写的戏剧作品,可以输入如下SQL语句得到结果列表,并且将结果按照play标题排序:

  1. SELECT book_id, title, publisher  
  2. FROM books  
  3.  
  4. JOIN authors USING(author_id)  
  5. JOIN publishers USING(publisher_id)  
  6. WHERE author_last = 'Shakespeare' 
  7. AND genre = 'play' 
  8. ORDER BY title, pub_year; 

ORDERBY子句出现在WHERE子句的末尾。在这里,ORDERBY子句首先按照title列对数据进行排序,然后再按照pub_year列根据同一作品的出版年份再次对结果进行排序。默认情况下,数据是按照字母数字顺序升序排列的,如果我们想将结果按照标题降序排列,只需将DESC标记加在ORDERBY子句的title后面与pub_year之前的逗号处即可:

  1. ...  
  2. ORDER BY title DESC, pub_year; 

一个规模较大的书店中会有许多莎士比亚的戏剧作品,可能每个作品都有几个不同的印刷版。如果我想对显示的记录条数加以限制,则可在上面的SQL语句结尾处添加LIMIT子句:

  1. SELECT book_id, title, publisher  
  2. FROM books  
  3. JOIN authors USING(author_id)  
  4. JOIN publishers USING(publisher_id)  
  5. WHERE author_last = 'Shakespeare' 
  6. AND genre = 'play' 
  7. ORDER BY title DESC, pub_year  
  8. LIMIT 20; 

添加了LIMIT子句就把显示的记录限定在了20行以内,并从ORDERBY子句的排序结果集的第一行开始计数。如果想取回20行以后的10个记录,我们可以修改LIMIT子句指定需要跳过的行数,以及想要取回的记录数。因此,如果想跳过前20行,取回紧随其后的10个记录,可以用下面的内容替代SQL语句中的LIMIT子句:

  1. ...  
  2. LIMIT 20, 10; 

正如你所看到的,LIMIT子句带有二个参数,第一个参数表示将要略过的行数或取回数据的起始点(例如:20),第二个参数表示将要显示记录的行数(例如:10)。

如果我们只想得到莎士比亚的作品标题列表,而不关心出版发行商是谁(就是说,如果我们想让标题相同的一组数据只返回一行记录,一行记录就可以满足需求了),可以按照如下方式使用GROUPBY子句完成这项工作:

  1. SELECT book_id, title  
  2. FROM books  
  3. JOIN authors USING(author_id)  
  4. WHERE author_last = 'Shakespeare' 
  5. GROUP BY title; 

上述SQL语句的执行结果就是数据库中莎士比亚的作品列表,显示的是查找到的每个标题下第一条记录的标识码。

本文地址:http://www.cuug.com.cn/mysql/kecheng/12481385879.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区北清路164号28-38号院
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1