社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

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

Cirrus86 • 5 年前 • 1286 次点击  

我有两张桌子,顾客和订单都是内部连接的。一个客户可以有几个相关联的订单。在我的选择中,我会按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
 
1286 次点击  
文章 [ 3 ]  |  最新文章 5 年前