gpt4 book ai didi

mysql - 从具有相似 ID 数据字段的表中选择唯一数据

转载 作者:行者123 更新时间:2023-11-29 01:10:03 24 4
gpt4 key购买 nike

order_status_data2 table

我正在尝试从上表 (order_status_data2) 中检索唯一值。我想获取包含以下字段的最新订单:id、order_id 和 status_id。高 id 字段值表示最近的项目,即
4 - 56 - 4
8 - 52 - 6
7 - 6 - 2
9 - 8 - 2

我尝试了以下查询但没有得到想要的结果,尤其是 status_id 字段:

 select max(id) as id, order_id, status_id from order_status_data2 group by order_id

这是我得到的结果:
query results


我将如何制定查询以获得所需的结果?

最佳答案

SELECT o.id, o.order_id, o.status_id
FROM order_status_data2 o
JOIN (SELECT order_id, MAX(id) maxid
FROM order_status_data2
GROUP BY order_id) m
ON o.order_id = m.order_id AND o.id = m.maxid

SQL Fiddle

在您的查询中,您没有对 status_id 施加任何约束,因此它从组中的任意行中选取它。选择 max(id) 不会使其从恰好具有该值的行中选择 status_id,您需要一个连接来为所有非聚合列。

关于mysql - 从具有相似 ID 数据字段的表中选择唯一数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com