问题:查找购买个数超过20,质量小于50的商品,按照商品id升序排序,如:

问题拆解:1.陷阱!!! 表trans需要先根据goods_id分组求和,(遇到题目不要大意,一定要认真观察具体数据信息!!!) t2

2.将表goods和步骤1新生成的表t2链接,设定筛选条件 weight<50 和 total>20

3.步骤3常规orderby

以上。

SELECT id, name, weight, total 
FROM goods g
JOIN
	(select goods_id, SUM(count) total 
    FROM trans
	GROUP BY goods_id) t2
ON g.id=t2.goods_id
WHERE g.weight<50 AND t2.total >20 
ORDER BY g.id