所以我想做的事情:
我的桌子上有一些商店某些商品的价格,我想做的是找到从该商店出售的所有商品的平均价格,以及商店里出售的所有类似商品的总和。
我的专栏是:
真正重要的是我必须避免子查询,所以我做不了类似的事情:
SELECT DISTINCT branch AS postcode, item_no, avg_price
FROM Prices
NATURAL JOIN (SELECT branch, AVG(totalamount) avg_price FROM Prices GROUP BY branch) av
WHERE sum > avg_price ORDER BY turnover DESC , branch;
这正是我想要做的事情,但是我必须在没有子查询的情况下这样做。
编辑1问题:
派生表和临时表之间有什么区别?所以对于赋值,我不允许使用子查询或临时表,那么我的答案是否有这两个中的任何一个?
答案 0 :(得分:0)
您可以在同一SELECT语句中的相同或不同列上指定多个聚合语句。要确切了解我的意思,请在线阅读书籍。
答案 1 :(得分:0)
在这里你可以做到这一点,
SELECT branch AS postcode,
item_no,
AVG(totalamount) avg_price ,
SUM(totalamount) sum
FROM prices
WHERE SUM(totalamount) > avg_turnover
ORDER BY avg_turnover DESC ,
eatit_Order.branch
GROUP BY branch,
item_no;