给出了MySQL数据库中的两个简单表。
这些表之间的关系直观-一对多从product到product_image。
我需要从product_image表中检索一个结果集(仅为prod_image),该表在中具有最大product_image_id,每组产品。
下面的查询正是这样做的。
SELECT p.prod_image
FROM product_image p
WHERE p.product_image_id IN(SELECT max(pp.product_image_id)
FROM product_image pp
GROUP BY pp.prod_id) 如何使用EXISTS()重写此查询?
发布于 2014-04-28 01:00:24
下面的查询遵循问题的逻辑,即为每个prod_image_id获取最大prod_id。
SELECT p1.prod_image
FROM product_image p1
WHERE NOT EXISTS(SELECT 1
FROM product_image p2
WHERE p1.prod_id = p2.prod_id
AND p1.product_image_id < p2.product_image_id) https://stackoverflow.com/questions/23330480
复制相似问题