排序数据

其实,检索出的数据并不是以纯粹的随机顺序显示的。如果不排

序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初

添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺

序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控

制的话,不能(也不应该)依赖该排序顺序。关系数据库设计理论认

为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有

意义。

子句(clause) SQL语句由子句构成,有些子句是必需的,而

有的是可选的。一个子句通常由一个关键字和所提供的数据组

成。子句的例子有 SELECT 语句的 FROM 子句

为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。

ORDER BY 子句取一个或多个列的名字,据此对输出进行排序

通过非选择列进行排序 通常, ORDER BY 子句中使用的列将

是为显示所选择的列。但是,实际上并不一定要这样,用非

检索的列排序数据是完全合法的

按多个列排序

经常需要按不止一个列进行数据排序。例如,如果要显示雇员清单,

可能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。

如果多个雇员具有相同的姓,这样做很有用。

为了按多个列排序,只要指定列名,列名之间用逗号分开即可(就

像选择多个列时所做的那样)。

重要的是理解在按多个列排序时,排序完全按所规定的顺序进行。

指定排序方向

数据排序不限于升序排序(从 A 到 Z )。这只是默认的排序顺序,还可

以使用 ORDER BY 子句以降序(从 Z 到 A )顺序排序。为了进行降序排序,

必须指定 DESC 关键字

但是,如果打算用多个列排序怎么办?下面的例子以降序排序产品

(最贵的在最前面),然后再对产品名排序

DESC 关键字只应用到直接位于其前面的列名。在上例中,只对

prod_price 列指定 DESC ,对 prod_name 列不指定。因此,

prod_price 列以降序排序,而 prod_name 列(在每个价格内)仍然按标准

的升序排序。

在多个列上降序排序 如果想在多个列上进行降序排序,必须

对每个列指定 DESC 关键字

与 DESC 相反的关键字是 ASC ( ASCENDING ),在升序排序时可以指定它。

但实际上, ASC 没有多大用处,因为升序是默认的(如果既不指定 ASC 也

不指定 DESC ,则假定为 ASC )

区分大小写和排序顺序 在对文本性的数据进行排序时,A与

a相同吗?a位于B之前还是位于Z之后?这些问题不是理论问

题,其答案取决于数据库如何设置。

在字典(dictionary)排序顺序中,A被视为与a相同,这是MySQL

(和大多数数据库管理系统)的默认行为。但是,许多数据库

管理员能够在需要时改变这种行为(如果你的数据库包含大量

外语字符,可能必须这样做)。

这里,关键的问题是,如果确实需要改变这种排序顺序,用简

单的 ORDER BY 子句做不到。你必须请求数据库管理员的帮助

使用 ORDER BY 和 LIMIT 的组合,能够找出一个列中最高或最低的值。

下面的例子演示如何找出最昂贵物品的值:

prod_price DESC 保证行是按照由最昂贵到最便宜检索的,而

LIMIT 1 告诉MySQL仅返回一行。

ORDER BY 子句的位置 在给出 ORDER BY 子句时,应该保证它

位于 FROM 子句之后。如果使用 LIMIT ,它必须位于 ORDER BY

本章学习了如何用 SELECT 语句的 ORDER BY 子句对检索出的数据进行

排序。这个子句必须是 SELECT 语句中的最后一条子句。可根据需要,利

用它在一个或多个列上对数据进行排序

之后。使用子句的次序不对将产生错误消息

这就是微学网-程序员之家为你提供的"mysql必知必会--排序检索数据"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/7646.html

mysql 检索结果排序方式_mysql必知必会--排序检索数据相关推荐

  1. mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 使用Select语句返回的数据,可能会发现显 ...

  2. mysql必知必会_MySQL必知必会

    MySQL必知必会 联结的使用, 子查询, 正则表达式和基于全文本的搜索, 存储过程, 游标, 触发器, 表约束. 了解SQL 数据库基础 电子邮件地址薄里查找名字时, 因特网搜索站点上进行搜索, 验 ...

  3. mysql必知必会的数据_MySQL必知必会--汇 总 数 据

    聚集函数 我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提 供了专门的函数.使用这些函数,MySQL查询可用于检索数据,以便分 析和报表生成.这种类型的检索例子有以下几种. 确定表中行数 ...

  4. mysql完全限定表列名_mysql必知必会--检 索 数 据

    SELECT 语句 SQL语句是由简单的英语单词构成的.这些单词称 为关键字,每个SQL语句都是由一个或多个关键字构成的.大概,最经常 使用的SQL语句就是 SELECT 语句了.它的用途是从一个或多 ...

  5. mysql必须包含数据组_MySQL必知必会--分 组 数 据

    数据分组 目前为止的所有计算都是在表的所有数据或匹配特定的 WHERE 子句的 数据上进行的.提示一下,下面的例子返回供应商 1003 提供的产品数目 但如果要返回每个供应商提供的产品数目怎么办?或者 ...

  6. mysql必_MySQL必知必会(一)

    摘自<MySQL必知必会> 1.1.1 什么是数据库 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 人们通常用数据库这个术语来代表他们使用的数据库软件.这是不正确的,它是引起 ...

  7. mysql必学十大必会_MYSQL 学习(一)--启蒙篇《MYSQL必知必会》

    MYSQL必知必会 一. DDL 数据定义语言 Data Definition Language 是指CREATE,ALTER和DROP语句. DDL允许添加/修改/删除包含数据的逻辑结构,或允许用户 ...

  8. mysql常用的通配符_mysql必知必会--用通配符进行过滤

    LIKE 操作符 前面介绍的所有操作符都是针对已知值进行过滤的.不管是匹配一 个还是多个值,测试大于还是小于已知值,或者检查某个范围的值,共 同点是过滤中使用的值都是已知的.但是,这种过滤方法并不是任 ...

  9. mysql数据库过滤空值_mysql必知必会--过 滤 数 据

    使用 WHERE 子句 数据库表一般包含大量的数据,很少需要检索表中所有行.通常只 会根据特定操作或报告的需要提取表数据的子集.只检索所需数据需要 指定搜索条件(search criteria),搜索 ...

最新文章

  1. 给出中后或者前中遍历,确定一个二叉树
  2. CentOS7系统ifconfig无法使用的解决方法
  3. java rabbitmq 绑定_RabbitMQ:交换,队列和绑定 - 谁设置了什么?
  4. 成功:选择比努力更重要,智慧比勤奋更重要
  5. Qt工作笔记-QTreeWidget中调用setHeaderItem设置头后,不能addChild
  6. mysql关联查询 事务 索引 外键
  7. php sha1漏洞,PHP sha1()函数
  8. 企业应用超级App来啦!
  9. cad 打开硬件加速卡_CAD:“你的图纸缺少shx字体!”不知道该怎么办?不存在的!...
  10. Linux 2.6内核配置说明(Device Drivers设备驱动程序)
  11. 基于51单片机的简易计算器
  12. python矩阵操作_python矩阵操作
  13. 《东周列国志》第六十五回 弑齐光崔庆专权 纳卫衎宁喜擅政
  14. 2020五四青年节 | 青年人在美团是怎样成长的?
  15. Spring IOC与DI、反射的理解 含小案例说明
  16. 记录的Android开发过程中遇到的问题。
  17. 减一天_减肥好方法 | 减肥食谱一周瘦10斤,小窍门一天减一斤
  18. 标题 穿越雷区 java_6届国赛java试题 4: 穿越雷区
  19. 传统产业如何在互联网时代创新与转型
  20. Python中使用小海龟画图

热门文章

  1. it的行业本质是什么
  2. 佳明表盘 c语言开发的吗,说点不一样的:Garmin 佳明 Connect IQ 户外手表 使用心得...
  3. ZYNQ FPGA实验——DAC FIFO实验
  4. 【MySQL数据库设计与应用(二)】数据库、数据表、记录、索引的操作
  5. 计算机类科技创新项目课题,计算机学院第八期科技创新基金项目申报通知
  6. python解题工程力学_工程力学要点与解题
  7. 用最简单的方法腌制最美味酸豆角——酸豆角的腌制方法
  8. Python之父Guido推荐命名规范
  9. Python 之父 Guido 宣布退休,离开 Dropbox
  10. 纽约帝国大厦历时四年完成80楼观景台重新开发