【发布时间】:2019-01-18 23:22:41
【问题描述】:
我有一个表格目录,我应该找到对某些零件收费高于该零件平均成本(所有供应该零件的供应商的平均值)的供应商的 sids
我的解决方案是有效的,我唯一有问题的是我想要表达它的方式。我希望在结果中有一列显示提供该零件的所有供应商的平均成本。结果应该是这样的:
sid pid cost avg_cost
----- ----- ------ ----------
s1 p8 11.70 10.71
s2 p3 0.55 0.52
s3 p8 12.50 10.71
这是我的结果:
sid pid cost
----- ----- ------
s1 p8 11.70
s2 p3 0.55
s3 p8 12.50
这是我所做的:
SELECT DISTINCT c.sid, c.pid, c.cost
FROM catalog AS c
WHERE c.cost > (SELECT avg(c1.cost) AS avg_cost
FROM catalog c1
WHERE c1.pid=c.pid)
GROUP BY c.sid, c.pid, c.cost;
【问题讨论】: