计算每个供应商的总销售数量,如果销售人员供应的零件总数超过 1000 件,则获取销售人员的姓名。
表格信息:
供应商{s_num、s_name、状态、城市}
Spj {s_num,p_num,j_num,数量}
这就是我所拥有的:
SELECT s_name, SUM(qty) AS sum
FROM Supplier, Spj
WHERE Supplier.s_num = Spj.s_num
AND qty > 1000
GROUP BY s_name;
我认为我的错误在于这一行:
AND qty > 1000
也许我错误地使用了“GROUP BY”...
没有供应商数量超过 800,所以我得到空白结果。
我想测试一下:
"sum of quantity for each supplier" > 1000
最佳答案
使用 HAVING 访问 group by 子句后的聚合结果:
SELECT s_name, SUM(qty) AS sum
FROM Supplier, Spj
WHERE Supplier.s_num = Spj.s_num
GROUP BY s_name
HAVING qty > 1000;
参见this post有关拥有与何处的更多信息。
关于mysql - 很难解释,mysql新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43795741/