在使用 SQL 进行数据分析时,您需要根据所分析表中一个或多个列的值对结果进行排序。在 SQL 中,这可以通过使用 order by 关键字来完成。本文将通过 PostgreSQL 的实际示例,向您介绍 order by 关键字。上面提供的第二个链接包含对 PostgreSQL 的良好入门介绍;如果您不熟悉 PostgreSQL 的使用,请务必先查看。
我们先在 PostgreSQL 中创建一个名为 countries 的表。该表包含以下列及其数据类型:
country_code(字符型)
country_name(字符型)
continent(字符型)
region(字符型)
independence_year(整数)
local_name(字符型)
gov_form(字符型)
capital(字符型)
我们快速创建一个实现上述规范的表。使用以下 SQL 查询即可:
CREATETABLE countries(
country_code varchar(50)primarykey,
country_name varchar(50),
continent varchar(50),
region varchar(50),
independence_year smallint,
local_name varchar(50),
gov_form varchar(50),
capital varchar(50));技术支持
为了更好地理解 order by 关键字的全部用法,您需要在 countries 表中准备足够数量的记录。您可以通过导入包含该表数据的 .csv 文件来完成。
将 .csv 文件导入 PostgreSQL 后,对 countries 表运行一条 select 查询,您将看到类似下面的结果:
现在您已有一个可用于尝试 order by 关键字的数据库。我们先从下面这条查询开始,它会按照国家名称对国家进行排序。国家名称存储在 country_name 列中。
本教程假定您已熟悉 SQL 的基础知识,包括 CRUD 查询(Create、Read、Update 和 Delete)。如果您需要复习 SQL 基础,以下资源可能会有所帮助:
在使用 SQL 进行数据分析时,您需要根据所分析表中一个或多个列的值对结果进行排序。在 SQL 中,这可以通过使用 order by 关键字来完成。本文将通过 PostgreSQL 的实际示例,向您介绍 order by 关键字。上面提供的第二个链接包含对 PostgreSQL 的良好入门介绍;如果您不熟悉 PostgreSQL 的使用,请务必先查看。
我们先在 PostgreSQL 中创建一个名为 countries 的表。该表包含以下列及其数据类型:
我们快速创建一个实现上述规范的表。使用以下 SQL 查询即可:
为了更好地理解 order by 关键字的全部用法,您需要在 countries 表中准备足够数量的记录。您可以通过导入包含该表数据的 .csv 文件来完成。
将 .csv 文件导入 PostgreSQL 后,对 countries 表运行一条 select 查询,您将看到类似下面的结果:
现在您已有一个可用于尝试 order by 关键字的数据库。我们先从下面这条查询开始,它会按照国家名称对国家进行排序。国家名称存储在 country_name 列中。
输出如下:
默认情况下,order by 会按升序排序。在此示例中,order by 按字母顺序对国家名称进行排序。
我们也可以通过提供
DESC关键字按降序排序:结果如下所示:
countries 表包含一列 independence_year。让我们查看在 1850 年到 1900 年之间获得独立的国家的详细信息,并按字母顺序排序:
结果类似于:
现在我们按国家首都的名称降序对各国的详细信息进行排序:
您将得到:
请注意 capital 列前几个值。它们是空值,从字母顺序来看会出现在最后面。
您还可以在配合 order by 使用时,仅指定特定的列名。
结果如下所示:
本教程到此结束。您已经学会如何使用 SQL 中的 order by 关键字对列值进行排序。如果您想进一步强化 SQL 知识,可以查看这门 DataCamp 课程:Joining Data in SQL。