在SQL中使用ORDER BY关键字

本教程假定你已经熟悉SQL的基础知识, 其中包括CRUD查询(创建, 读取, 更新和删除)。如果你想重新学习SQL基础知识, 可以使用以下资源-

  • SQL for Data Science简介
  • PostgreSQL初学者指南
在使用SQL进行数据分析期间, 你将需要根据要分析的表的一个或多个列的值对结果进行排序。在SQL中, 这是使用SQL中的order by关键字完成的。本教程将通过逐步介绍PostgreSQL中的真实示例, 向你介绍关键字的顺序。上面给出的第二个链接涵盖了对PostgreSQL的体面介绍。如果你不熟悉PostgreSQL, 请确保将其签出。
首先让我们在PostgreSQL中创建一个名为countrys的表。该表将包含以下列和数据类型-
  • country_code(字符)
  • country_name(字符)
  • 大陆(字符)
  • 区域(字符)
  • 独立年份(整数)
  • local_name(字符)
  • gov_form(字符)
  • 资本(字符)
让我们快速创建一个实现这些规范的表。以下SQL查询将为你完成此任务-
CREATE TABLE countries( country_code varchar(50) primary key, country_name varchar(50), continent varchar(50), region varchar(50), independence_year smallint, local_name varchar(50), gov_form varchar(50), capital varchar(50) );

你需要在表格国家/地区中有相当数量的记录, 才能通过关键字了解订单的全部潜力。你可以将此.csv文件导入刚刚创建的国家/地区表。
(如果你想知道如何将.csv文件导入PostgreSQL, 则可以单击此链接)
将.csv文件导入PostgreSQL后, 只需在国家表上运行选择查询, 你应该得到类似以下内容的信息-
在SQL中使用ORDER BY关键字

文章图片
现在, 你已经有了一个数据库, 可以在该数据库上通过关键字尝试订购。让我们从以下查询开始, 该查询将根据国家/地区的名称对国家/地区进行排序。国家名称存储在country_name列中。
select * from countries order by country_name;

输出是-
在SQL中使用ORDER BY关键字

文章图片
默认情况下, order by对值进行升序排序。在这种情况下, order by将国家名称按字母顺序排序。
我们还可以通过提供DESC关键字以降序对列进行排序-
select * from countries order by country_name desc;

【在SQL中使用ORDER BY关键字】结果返回为-
在SQL中使用ORDER BY关键字

文章图片
国家表包含一个称为dependency_year的列。我们来看看在1850年至1900年获得独立的国家/地区的详细信息, 并按字母顺序对它们进行排序-
select * from countries where independence_year > = 1800 and independence_year < = 1900 order by country_name;

结果看起来像-
在SQL中使用ORDER BY关键字

文章图片
现在, 让我们按照国家/地区的首字母降序对国家/地区的详细信息进行排序-
select * from countries order by capital desc;

然后你得到-
在SQL中使用ORDER BY关键字

文章图片
在大写列中查找前两个值。它们是空值, 并且按字母顺序显示在最后。
你还可以指定特定的列名称, 以及与order by结合使用。
select country_code, country_name, capital from countries order by capital;

结果将是-
在SQL中使用ORDER BY关键字

文章图片
本教程就是这样。在本教程中, 你学习了如何在SQL中使用order by关键字对列值进行排序。如果你想增强你的SQL知识, 请查看此srcmini课程-在SQL中联接数据。

    推荐阅读