TOP

SQL-第 3 课。对数据进行排序 (ORDER BY)

将来,我们可能需要对我们的选择进行排序 - 对于文本按字母顺序排序,对于数值按升序/降序排序。 为此,SQL 有一个特殊的运算符 ORDER BY。

SQL 运算符 ORDER BY 可以按从小到大(即升序)排序,也可以按相反顺序(从大到小)排序。


1.对选中的数据进行排序

让我们按产品销售额(即“金额”列)对整个表进行排序。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

我们看到查询在 Amount 字段中按升序对记录进行排序。需要注意运算符排列的顺序,即运算符ORDER BY 必须放在请求的最后。否则,将收到错误消息。

另外,ORDER BY 运算符的一个功能是,它可以按我们在查询中未选择的字段对数据进行排序,也就是说,它根本在数据库中就足够了。

2. 按多个字段排序

现在,让我们再按一个字段对示例进行排序。让它成为字段City,它显示产品的销售地点。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

排序顺序将取决于请求中字段的顺序。也就是说,在我们的例子中,数据将首先按 Amount 列排序,然后按 City 排序。

3. 排序方向

虽然默认情况下 ORDER BY 运算符按升序排序,但我们也可以编写值以降序排序。为此,我们将 DESC 运算符(它是单词 DESCENDING 的缩写)放在每个字段的末尾。

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

在此示例中,Amount 字段中的值按降序排序,而 City 字段中的值按升序排序。 DESC运算符仅适用于一列,因此如有必要,必须将其写在每个参与排序的字段之后。