SQL查询:获取最昂贵的订单的日期和customerid

时间:2020-02-04 07:55:26

标签: mysql sql

有人可以帮助我进行mySQL查询吗?我的数据是:

Logon

我正在尝试获取最昂贵的订单的日期和客户编号。

我可以做一部分,但只是对最有效的查询感兴趣。

在我做到这一点的过程中,我已经走了这么远:

我可以通过以下查询获取价格最高的订单ID:

| OrderID | ItemPrice |
|---------|-----------|
|       1 |      2500 |
|       2 |       500 |

| OrderID | CustomerID |    OrderDate |
|---------|------------|--------------|
|       1 |          1 | 30-June-2017 |
|       2 |          1 |  2-July-2017 |

| FirstName | CustomerID |
|-----------|------------|
|      John |          1 |
|      Jane |          2 |

让我们说将上述查询的值保存为'x'时,我的名称可以是:

SELECT OrderID from `LineItem` ORDER BY ItemPrice DESC LIMIT 1;

但是我不确定如何将两个命令链接在一起,或者这种方法是否是最有效的选择。

1 个答案:

答案 0 :(得分:0)

您可以使用子查询。

select customerid, orderdate
from lineitem l
inner join customner c
  on l.CustomerID = c.CustomerID;
where orderid in (SELECT OrderID from `LineItem` ORDER BY ItemPrice DESC LIMIT 1)
            ^^^^^^

如您所见,您的第一个语句是orderId的子查询