原文: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
子句指定我们要列出的表。
在这个例子中,我们有一个音乐家表,列有 id
、name
、age
、instrument
和 city
:
现在,此表按 id
按升序自动排序。
如果我们想按升序对 name
列进行排序,则必须使用以下语法:
SELECT * FROM musicians
ORDER BY name;
*
字符告诉计算机选择表中的所有列。
你可以看到 names
现在按字母顺序排序,并且 id
不再按正确的升序排列。
如果我们想按 city
对数据进行排序,那么我们可以使用这种语法。
SELECT * FROM musicians
ORDER BY city;
你还可以在同一命令中按升序对多个列进行排序。
在这个新的音乐家示例中,我们可以按升序对 age
和 city
列进行排序。
SELECT * FROM musicians
ORDER BY age, city;
我们可以看到表中按字母顺序排列了三个 19 岁的音乐家。我们还可以看到两个 38 岁的音乐家,他们的城市按字母顺序正确排序。
如果我们想按升序对某些数据进行排序,而按降序对其他数据进行排序,则必须使用 ASC
和 DESC
关键字。
在这个新的音乐家示例中,我们希望按降序对 age
列进行排序,按升序对 instrument
列进行排序。
语法如下:
SELECT * FROM musicians
ORDER BY age DESC, instrument ASC;
我们必须在列名旁边使用 ASC
和 DESC
关键字来告诉计算机如何对数据进行排序。
结果如下所示:
我们可以在我们的表中看到 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;
如果要按升序对某些数据进行排序,而按降序对其他数据进行排序,则必须使用 ASC
和 DESC
关键字。
SELECT * FROM table
ORDER BY column1 ASC, column2 DESC;
以上就是使用 SQL 中的 ORDER BY
子句按升序对数据进行排序的方法。