我有两张桌子,顾客和订单都是内部连接的。一个客户可以有几个相关联的订单。在我的选择中,我会按customers.id分组。我需要选择每个客户的最新订单,以及在该订单中花费的金额。目前,我可以选择最近的订单日期,但不知道如何选择订单日期所在行的金额。
这是我当前的查询:
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;
查询选择最近的日期,但不选择与最近的订单日期关联的金额。
表声明:
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)
);