假设有包含以下数据的表:
|id|product_id|date_time |warehouse_id|city_id|
+--+----------+-------------------+------------+-------+
| 1| 1|2013-08-09 10:52:28| 1| 1|
| 2| 1|2013-08-09 10:52:28| 1| 2|
| 3| 1|2013-08-09 10:52:29| 1| 3|
| 4| 2|2013-08-09 10:52:28| 1| 1|
| 5| 2|2013-08-09 10:52:28| 1| 2|
+--+----------+-------------------+------------+-------+
在 mySQL JOIN 查询中是否有任何方法可以让每个 product_id 和warehouse_id 仅获得一个条目(最新的日期时间)
IE:
SELECT * FROM xxxxx
JOIN a ON a.product_id=xxxx.product_id AND a.warehouse_id=xxxx.warehouse_id
我尝试在 JOIN 上使用 max(date_time) 但这当然不会给我正确的结果集
select * from xxxxx x
JOIN a ON a.product_id=x.product_id and a.warehouse_id=x.warehouse_id
JOIN (SELECT id, max(date_time) as date_time From a group by a.product_id, a.warehouse ) a2 on a2.id=a.id