我有两张桌子,产品和销售。在产品表中,所有用户都添加产品。销售时,销售表会更新所有关于产品的信息,包括添加该产品的用户。
产品表
id|Product Name|User|Price|Date
销售表
id|Product Name|Quantity|Seller|Price
卖方和用户具有相同的价值
我的问题是,当我展示产品时,我想要的是为了让用户选择更多产品,他的所有产品应该是顶级产品,其他用户在产品表中有产品但没有任何销售应该在底部
答案 0 :(得分:3)
所以这只是表名和列名的假设:
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 是销售产品的人的身份号码
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