获得销售额最高的产品
问题描述:
我需要查询才能返回最经常销售的产品。获得销售额最高的产品
我有两个表使用。
产品
IDPRO(PK) DESCRIP STOCK PRICE
4000 PIZZA 7 2000
4001 HAMBURGUESA 8 800
4002 PAELLA 1 1000
4003 CORDERO 5 3000
4004 COMIDA CHINA 9 500
4005 ALBONDIGAS 9 500
详细
IDPRO(FK) Amount
4002 2
4003 1
4004 1
4002 3
4002 1
4003 100
4004 50
4004 3
4005 10
的结果会是这样的
CORDERO
既然是售出单位量最高的产品。
答
如果你需要的总数量,你可以通过在连接表使用总和组
select t1.IDPRO, t1.DESCRIP, sum(t2.Amount) total
FROM Product t1
INNER JOIN DETAILS t2 on t2.IDART = t1.IDPRO
GROUP BY t1.IDPRO, t1.DESCRIP
ORDER BY total desc
答
首先找到CANTIDAD
列的总和为每个产品,并选择前1行,并加入到表1
查询
select top 1 t1.IDPRO, t1.DESCRIP, t2.total
from Product t1
join (
select IDART, sum(Amount) as total
from Details
group by IDART
)t2
on t1.IDPRO = t2.IDART
order by t2.total desc;
答
尝试somethink这样的顶级1:
WITH MAIN AS(
SELECT main.IDPRO, main.DESCRIP, main.CANTIDAD from Details det
LEFT JOIN Product main ON main.IDPRO=det.IDART)
SELECT TOP 1 * from MAIN
什么是CANTIDAD列? – Wanderer
我们如何知道已售物品的数量? – jarlh
您正在使用哪些DBMS? Postgres的?甲骨文? –