SQL Server2008的安装,SQLServer2008的安装......
2023-02-22 274 安装
使用SQL的ORDER BY子句对查询的记录重新排序
在SQL查询结果集中,记录的顺序是按它们在表中的顺序进行排列的,可以使用ORDER BY子句对查询结果按照给定的字段值重新进行排序。排序支持升序和降序,升序按照从低到高或者从小到大,降序按照从高到低或者从大到小。在ORDER BY子句后面添加关键字ASC可以让返回的记录按升序排序,添加关键字DESC可以让返回的记录按降序排序,如果省略ASC(升序)或DESC(降序),系统则默认为升序。需要注意的是关键字ASC(升序)或DESC(降序)只能单独使用,不能同时使用。
ORDER BY子句后面是待排序的字段。若字段的值是数值,进行ASC(升序)排序时,记录按照字段的值从小到大进行排序。进行DESC(降序)排序时,记录按照字段的值从大到小进行排序;若字段的值是字符串时,排序会按照字典顺序进行。
例1:查询mooc数据库的course表,查询返回的结果集按照价格字段升序排序。
例1要求按照价格字段升序排序,可以使用ORDER BY子句对查询返回的结果集排序,如果没有WHERE子句,ORDER BY子句可以直接添加在FROM子句后面。在查询窗口输入下面的SQL语句。
select * FROM course ORDER BY price ASC
在上面的SQL语句中将返回按照price字段值升序排序的课程记录。SQL查询结果如下图所示。
例2:查询mooc数据库的course表,查询返回的结果集按照价格字段降序排序。
查询内容同例1相同,排序要求按照价格字段的值降序排序。在查询窗口输入下面的SQL语句。
select * FROM course ORDER BY price DESC
在上面的SQL语句中将返回按照price字段值降序排序的课程记录。SQL查询结果如下图所示。
例3:查询mooc数据库的course表,查询返回的结果集按照课程名称排序。
例3要求按照课程名称字段进行排序,课程名称字段的值是字符串,排序规则是字典顺序。在查询窗口输入下面的SQL语句。
select * FROM course ORDER BY name
在上面的SQL语句中,ORDER BY子句name字段后面没有添加排序关键字,MySQL默认为升序排序。SQL查询结果如下图所示。
例4:查询mooc数据库的course表,查询返回的结果集按照课程名称降序排序。
查询内容同例3相同,排序要求按照课程名称字段的值降序排序。在查询窗口输入下面的SQL语句。
select * FROM course ORDER BY name DESC
在上面的SQL语句中,在ORDER BY子句name字段后面添加DESC关键字,返回结果集将以字典顺序降序排序。SQL查询结果如下图所示。
例5:查询mooc数据库的course表,查询课程类别为机器学习的课程记录,并按照课程价格降序排序。
查询内容要求类别为机器学习的课程并按照价格降序排序。在查询窗口输入下面的SQL语句。
select * FROM course WHERE category = "机器学习" ORDER BY price DESC
在上面的SQL语句中,首先查询出类别为“机器学习”的课程记录,然后再按照价格字段降序排序。SQL查询结果如下图所示。
例6:查询mooc数据库的course表,查询所有课程记录,并按照课程名称、价格字段升序排序。
查询内容要求按课程名称和价格两个字段值进行排序,对于多个字段排序,MySQL会先对第一个字段进行排序,然后在排序的基础上再对后面的字段进行排序,依次类推,字段与字段之间用英文逗号分隔。在查询窗口输入下面的SQL语句。
select * FROM course ORDER BY name,price
在上面的SQL语句中,SQL会先按照name排序,然后再按照price排序,前提是先要满足name排序。SQL查询结果如下图所示。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章