【发布时间】:2020-05-30 18:41:31
【问题描述】:
我有两个表,客户和订单,它们是内部连接的。一个客户可以有多个与其关联的订单。在我的选择中,我然后按customers.id 分组。我需要选择每个客户最近的订单,还要选择在该订单上花费的金额。目前,我可以选择最近的order_date,但不知道如何选择与order_date在同一行的金额。
这是我当前的查询:
SELECT
first_name,
last_name,
email,
MAX(order_date) AS recent_order,
amount -- this needs to select amount associated with recent_order
FROM customers
JOIN orders
ON customers.id = orders.customer_id
GROUP BY customers.id;
查询选择最近的日期,但不选择与最近的order_date关联的金额。
表声明:
CREATE TABLE customers (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(100),
last_name VARCHAR(100),
email VARCHAR(100)
);
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
order_date DATE,
amount DECIMAL(8,2),
customer_id INT,
FOREIGN KEY(customer_id) REFERENCES customers(id)
);
【问题讨论】: