SQL语句问题,LEFT JOIN 右表多条数据解决方案
[ 2019-08-14 16:13:18 | 作者: admin ]
p.s. 方法就是先写好普通left join语句,然后把结果作为临时表,进行group by [重复键]
用到SQL中的LEFT JOIN时,在右表中存在多条记录,即一对多的情况时, 直接使用left join会出现一对多的结果
发现一对多关联然后全部查询出来了。
现在只需要改查询商品的最后一张图片,入商品1对应的商品图片3。
方案1:
先按图片降序排序,然后按商品id进行分组,即得每一个商品的最后一张图片信息。
方案2:
根据产品id分组求出每个分组的最大图片id,在外面套一层查询图片信息即可
执行结果:
原文链接:https://blog.csdn.net/BtWangZhi/article/details/80960522
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2611
select * from (
原语句...
) as tmp_table GROUP BY tmp_table.mid
原语句...
) as tmp_table GROUP BY tmp_table.mid
用到SQL中的LEFT JOIN时,在右表中存在多条记录,即一对多的情况时, 直接使用left join会出现一对多的结果
发现一对多关联然后全部查询出来了。
现在只需要改查询商品的最后一张图片,入商品1对应的商品图片3。
方案1:
先按图片降序排序,然后按商品id进行分组,即得每一个商品的最后一张图片信息。
SELECT * FROM (SELECT * FROM image ORDER BY id DESC) AS temp_image GROUP BY temp_image.productId
方案2:
根据产品id分组求出每个分组的最大图片id,在外面套一层查询图片信息即可
SELECT * FROM image WHERE id IN (SELECT CONCAT(MAX(id),',') AS id FROM image GROUP BY productId)
执行结果:
原文链接:https://blog.csdn.net/BtWangZhi/article/details/80960522
[最后修改由 admin, 于 2019-08-14 16:23:23]

这篇日志没有评论。
此日志不可发表评论。