原文:Ascending Order with SQL Order By,作者:Jessica Wilkins

在本文中,我将向你展示一些代码示例,说明如何使用 SQL 中的 ORDER BY 子句按升序对数据进行排序。

ORDER BY 语法

这是按升序对数据进行排序的基本语法:

SELECT columns FROM table
ORDER BY column;

如果要按降序排序,则必须使用 DESC 关键字。

SELECT columns FROM table
ORDER BY column DESC;

SQL 中的 SELECT 语句告诉计算机从表中获取数据。

SQL 中的 FROM 子句指定我们要列出的表。

在这个例子中,我们有一个音乐家表,列有 idnameageinstrumentcity

Screen-Shot-2021-09-20-at-2.57.23-AM

现在,此表按 id 按升序自动排序。

如果我们想按升序对 name 列进行排序,则必须使用以下语法:

SELECT * FROM musicians
ORDER BY name;

* 字符告诉计算机选择表中的所有列。

Screen-Shot-2021-09-20-at-3.03.11-AM

你可以看到 names 现在按字母顺序排序,并且 id 不再按正确的升序排列。

如果我们想按 city 对数据进行排序,那么我们可以使用这种语法。

SELECT * FROM musicians
ORDER BY city;
Screen-Shot-2021-09-20-at-3.22.34-AM

你还可以在同一命令中按升序对多个列进行排序。

在这个新的音乐家示例中,我们可以按升序对 agecity 列进行排序。

SELECT * FROM musicians
ORDER BY age, city;
Screen-Shot-2021-09-20-at-3.13.46-AM

我们可以看到表中按字母顺序排列了三个 19 岁的音乐家。我们还可以看到两个 38 岁的音乐家,他们的城市按字母顺序正确排序。

如果我们想按升序对某些数据进行排序,而按降序对其他数据进行排序,则必须使用 ASCDESC 关键字。

在这个新的音乐家示例中,我们希望按降序对 age 列进行排序,按升序对 instrument 列进行排序。

语法如下:

SELECT * FROM musicians
ORDER BY age DESC, instrument ASC;

我们必须在列名旁边使用 ASCDESC 关键字来告诉计算机如何对数据进行排序。

结果如下所示:

Screen-Shot-2021-09-20-at-3.33.26-AM

我们可以在我们的表中看到 Oscar 和 Jenny 是最年长的。但 Oscar 排在最上面,因为 drums 按字母顺序排在 trombone 之前。

我们在 Jess 和 Dave 身上看到了同样的情况。尽管他们年龄相同,但 Jess 在表格上的位置更靠前,因为按字母顺序,flute 排在 trumpet 之前。

总结

你可以使用 SQL 中的 ORDER BY 子句按升序对表数据进行排序。

SELECT columns FROM table
ORDER BY column;

如果要按降序排序,则还必须使用 DESC 关键字。

SELECT columns FROM table
ORDER BY column DESC;

* 字符告诉计算机选择表中的所有列。

SELECT * FROM table
ORDER BY column;

如果要按升序对多个列进行排序,则可以在 ORDER BY 子句旁边列出要排序的列。

SELECT * FROM table
ORDER BY column1, column2;

如果要按升序对某些数据进行排序,而按降序对其他数据进行排序,则必须使用 ASCDESC 关键字。

SELECT * FROM table
ORDER BY column1 ASC, column2 DESC;

以上就是使用 SQL 中的 ORDER BY 子句按升序对数据进行排序的方法。