好吧,我想获得最畅销的产品,但是当我想要获得它们时。它只会返回最畅销的产品,而不返回idventa,idproduct和说明。很好地返回这些值,但是它们属于其他值是错误的值。我需要有人帮助我纠正关于SQL的语句,因为我想返回正确的值,例如:idventa:7-idproducto:10,descripcion:IPHONE 4S,best_selling_product:5000,而不是不属于它们的其他值句子
SELECT
idventa,idproducto,descripcion,MAX(venta_detalle.cantidad) AS best_selling_product
FROM venta_detalle
INNER JOIN producto
ON venta_detalle.idproducto = producto.id
最佳答案
在不知道表结构的情况下,很难猜测要查找的内容。有时,假设该字段存在group by
值,则可以添加一个distinct
子句。
其他时候,您需要使用子查询中的聚合将表join
还原回自身:
select
p.idproducto,
p.descripcion,
vd.idventa,
vd.cantidad
from producto p
join venta_detalle vd on vd.idproducto = p.id
join (select idproducto, max(cantidad) best_selling_product
from venta_detalle
group by idproducto) vd2 on vd.idproducto = vd2.idproducto and
vd.cantidad = vd2.best_selling_product
关于mysql - 获得最畅销的产品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35977026/