以下是一个示例场景,假设你有一个表格orders,包含order_id(订单ID),product_id(产品ID),order_date(订单日期)等字段,你想为每个product_id获取最新的订单记录:

SELECT product_id, MAX(order_date) AS latest_order_date
FROM orders
GROUP BY product_id;

上面的SQL语句会返回每个product_id的最新订单日期,但是不会显示其他列(如order_id)的信息。如果你还需要对应的order_id,则需要使用子查询或者窗口函数(如果MySQL版本支持)。以下是使用子查询的方式:

SELECT o1.product_id, o1.order_id, o1.order_date
FROM orders o1
INNER JOIN (
    SELECT product_id, MAX(order_date) AS latest_order_date
    FROM orders
    GROUP BY product_id
) o2 ON o1.product_id = o2.product_id AND o1.order_date = o2.latest_order_date;

这段SQL首先找出每个产品的最新订单日期,然后通过内连接找到那些订单日期与最新日期匹配的记录,从而实现了保留每个产品最新数据的目的。请注意,如果有多个记录具有相同的最大日期且你需要进一步筛选(比如取ID最大的一条),可能还需要额外的条件或排序。