网站大量收购独家精品文档,联系QQ:2885784924

MySQL开发和 与实践 第5章 数据库的查询.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用DISTINCT关键字可以去除查询结果中的重复记录,语法格式如下: select distinct 字段名 from 表名; 【例5-11】 下面使用distinct关键字去除tb_login表中name字段中的重复记录,查询语句如下: select distinct name from tb_login; 查询结果如图5-10所示。去除重复记录前的name字段值如图5-11所示。 图5-10 使用DISTINCT关键字去除结果中的重复行 图5-11 去除重复记录前的name字段值 5.2.10 用DISTINCT关键字去除结果中的重复行 使用ORDER BY可以对查询的结果进行升序(ASC)和降序(DESC)排列,在默认情况下,ORDER BY按升序输出结果。如果要按降序排列可以使用DESC来实现。语法格式如下: ORDER BY 字段名 [ASC|DESC]; ASC表示按升序进行排序; DESC表示按降序进行排序。 说明: 如果对含有NULL值的列进行排序时,如果是按升序排列,NULL值将出现在最前面,如果是按降序排列,NULL值将出现在最后。 5.2.11 用ORDER BY关键字对查询结果排序 【例5-12】 查询tb_login表中的所有信息,按照“id”进行降序排列,查询语句如下: select * from tb_login order by id desc; 查询结果如图5-12所示。 图5-12 按id序号进行降序排列 通过GROUP BY子句可以将数据划分到不同的组中,实现对记录进行分组查询。在查询时,所查询的列必须包含在分组的列中,目的是使查询到的数据没有矛盾。 1.使用GROUP BY关键字来分组 单独使用GROUP BY关键字,查询结果只显示每组的一条记录。 【例5-13】 使用GROUP BY关键字对tb_book表中talk字段进行分组查询,查询语句如下: select id,books,talk from tb_book GROUP BY talk; 查询结果如图5-13所示。 图5-13 使用GROUP BY关键进行分组查询 5.2.12 用GROUP BY关键字分组查询 为了使分组更加直观明了,下面查询tb_book表中的记录,查询结果如图5-14所示。 图5-14 tb_book表中的记录 2.GROUP BY关键字与GROUP_CONCAT()函数一起使用 使用GROUP BY关键字和GROUP_CONCAT()函数查询,可以将每个组中的所有字段值都显示出来。 【例5-14】 下面使用GROUP BY关键字和GROUP_CONCAT()函数对tb_book表中的talk字段进行分组查询,查询语句如下: select id,books,GROUP_CONCAT(talk) from tb_book GROUP BY talk; 查询结果如图5-15所示。 图5-15 使用GROUP BY关键字与GROUP_CONCAT()函数进行分组查询 3.按多个字段进行分组 使用GROUP BY关键字也可以按多个字段进行分组。 【例5-15】 下面对tb_book表中的user字段和sort字段进行分组,分组过程中,先按照talk字段进行分组。当talk字段的值相等时,再按照sort字段进行分组,查询语句如下: select id,books,talk,user from tb_book GROUP BY user,talk; 查询结果如图5-16所示。 图5-16 使用GROUP BY关键字实现多个字段分组 查询数据时,可能会查询出很多的记录。而用户需要的记录可能只是很少的一部分。这样就需要来限制查询结果的数量。LIMIT是MySQL中的一个特殊关键字。LIMIT子句可以对查询结果的记录条数进行限定,控制它输出的行数。下面通过具体实例来了解Limit的使用方法。 【例5-16】 查询tb_login表中,按照id编号进行升序排列,显示前3条记录,查询语句如下: select * from tb_login order by id asc limit 3; 查询结果如图5-17所示。 图5-17 使用limit关键字查询指定记录数 使用LIMIT还可以从查询结果的中间部分取值。首先要定义两个参数,参数1是开始读取的第一条记录的编号(在查询结果中,第一个结果的记录编号是0,而不是1);参数2是要查询记录的个数。 5.2.13 用LIMIT限制查询结果的数量 【例5-1

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档