Py学习  »  DATABASE

从MySQL中分组联接表的特定行中选择数据

Cirrus86 • 5 年前 • 1277 次点击  

我有两张桌子,顾客和订单都是内部连接的。一个客户可以有几个相关联的订单。在我的选择中,我会按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)
);
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54738
 
1277 次点击  
文章 [ 3 ]  |  最新文章 5 年前