У меня есть две таблицы, клиенты и заказы, которые соединены внутри. С клиентом может быть связано несколько заказов. В моем выборе я затем группируюсь по customer.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)
);