当前位置: 首页 > 面试题库 >

SQL ORDER BY多列[重复]

曹建华
2023-03-14
问题内容

这个问题已经在这里有了答案

SQL多列排序 (5个答案)

6年前关闭。

我想按两列对我的产品表进行排序:prod_priceprod_name

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_price, prod_name;

这里的排序方式如何?我认为这首先发生prod_price,然后发生prod_name。另外,以上查询与此查询有何不同:

SELECT prod_id, prod_price, prod_name
FROM Products
ORDER BY prod_name;

我的产品表如下:

CREATE TABLE Products
(
  prod_id    char(10)      NOT NULL ,
  vend_id    char(10)      NOT NULL ,
  prod_name  char(255)     NOT NULL ,
  prod_price decimal(8,2)  NOT NULL ,
  prod_desc  text          NULL 
);

问题答案:

ORDER BY按第一列进行排序,然后按指定语句中的每个其他列进行排序。

例如,考虑以下数据:

Column1    Column2
=======    =======
1          Smith
2          Jones
1          Anderson
3          Andrews

查询

SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2

首先将按中的所有值排序 Column1

然后对列进行排序Column2以产生此结果:

Column1    Column2
=======    =======
1          Anderson
1          Smith
2          Jones
3          Andrews

换句话说,首先按Column1顺序对数据进行排序,然后按第二列的顺序对每个子集(Column1具有1其值的行)进行排序。

您发布的两个语句之间的区别是,第一个语句中的行将首先按prod_price(价格顺序,从最低到最高)排序,然后再按名称顺序排序(这意味着如果两个项目的价格相同,则一个名称的较低alpha值将首先列出),而第二个将仅按名称顺序排序(这意味着价格将基于prod_name不考虑价格的顺序出现)。



 类似资料:
  • 对于包含10列的数据框,如何删除索引2以上的列。数据框如下所示: 任务是删除列3-列10

  • 问题内容: 如何同时在多个对象上“选择” ? Golang的频道具有所需的功能: 其中第一个要解除阻塞的通道执行相应的块。如何在Python中实现? 更新0 根据tux21b答案中给出的链接,所需的队列类型具有以下属性: 多生产者/多消费者队列(MPMC) 提供每个生产者FIFO / LIFO 当队列为空/完整的消费者/生产者被阻止时 此外,渠道可能会被阻塞,生产者将阻塞,直到消费者取回该物品为止

  • 我有一个Pandas DataFrame列,其中包含一个列表中的多个列表。类似于这样: 我想将列表拆分为多列,因此输出应该是这样的: 请帮我做这件事。预先感谢

  • 问题内容: 我目前正在使用LINQ的C#项目中工作。我想知道是否有可能用Linq创建一个“多重OR子句”,并以列表作为where的条目。 我的意思是这样的: 关于如何做到这一点的任何想法? 谢谢 问题答案: 您可以使用包含

  • 我想显示一个名为listaBaresFiltrada的列表,按多个值排序。 Evento模型: 现在,我可以创建第一个排序条件,如下所示: 但我不知道如何包括其他两个排序条件。

  • 我们如何使用Pyspark2.4基于“/”之类的分隔符拆分sparkDataframe列 我的专栏包含: 谢谢