Sql查询以按日常销售顺序显示所有产品

时间:2016-08-20 10:59:41

标签: php mysql sql

我的零售POS应用程序中有2个简单的表...称为产品和product_sales。 product_sales记录以不同顺序进行的所有销售。我想显示一个页面,列出按销售数量排序的所有产品...

PRODUCTS

PRODUCT SALES

现在我想编写一个可以获取我所有产品的SQL查询...我认为左边的连接...可以显示该产品的所有销售额的总和......并将它们排序为RANK即畅销商品。

SCREEN

我是SQL的初学者...而且不确定要写什么。这是我尝试过的但不起作用。

SELECT DISTINCT p1.name,
                p1.id
FROM products p1
LEFT JOIN
product_sales p2
    ON p1.id = p2.product_id
ORDER BY SUM(p2.quantity)

1 个答案:

答案 0 :(得分:1)

SELECT t1.name,
       COALESCE(t2.totalQuantity, 0)
FROM products t1
LEFT JOIN
(
    SELECT product_id, SUM(quantity) AS totalQuantity
    FROM product_sales
    GROUP BY product_id
) t2
    ON t1.id = t2.product_id
ORDER BY t2.totalQuantity DESC     -- show highest selling product first
相关问题