我有两张表,产品和销售。在产品表中,所有用户都添加产品。当进行销售时,销售表会更新有关产品的所有信息,包括添加该产品的用户。
产品表
id|Product Name|User|Price|Date
销售表
id|Product Name|Quantity|Seller|Price
卖方和用户具有相同价值的地方
我的问题是,当我展示产品时,我想要它们以便销售更多产品的用户,他的所有产品应该在顶部,而其他在 Products Table 中有产品但没有任何销售的用户应该在底部。
所以这只是表名和列名的假设:
SELECT a.UserID,
Count(a.ProductID) as TotalCount
FROM Sales a INNER JOIN Products b
ON a.ProductID = b.ProductID
GROUP BY a.UserID
ORDER BY TotalCount desc
UserID 是销售产品的人的 ID
ProductID是您的产品的 ID,它是连接两个表的字段
COUNT()是聚合函数的名称,它计算每个用户的记录。
PS:请在您的问题中包含表格的架构。
更新 1
如果是这种情况,您将不得不使用LEFT JOIN
:
SELECT a.ProductName,
COUNT(b.Seller) as TotalSellerCount
FROM Products a LEFT JOIN Sales b
ON a.User = b.Seller
GROUP BY a.ProductName
ORDER BY TotalSellerCount desc