前三大订单产品列表-SQL
作为一个基本示例,我想知道一个解决方案,列出数据库中订购最多的前3个左右的产品 我目前知道如何按升序/降序排列,但不知道如何显示最常用的顺序前三大订单产品列表-SQL,sql,list,Sql,List,作为一个基本示例,我想知道一个解决方案,列出数据库中订购最多的前3个左右的产品 我目前知道如何按升序/降序排列,但不知道如何显示最常用的顺序 任何帮助都将不胜感激。好吧,没有看到您的数据库模型,这纯粹是猜测。我无论如何都要试一试 假设您有两个表:一个用于产品,另一个用于订单 产品是: Product_ID Product_Name Product_Price 订单是: Order_ID Product_ID Order_Date 您可以执行以下操作: select Product_ID, c
任何帮助都将不胜感激。好吧,没有看到您的数据库模型,这纯粹是猜测。我无论如何都要试一试 假设您有两个表:一个用于产品,另一个用于订单 产品是:
Product_ID
Product_Name
Product_Price
订单是:
Order_ID
Product_ID
Order_Date
您可以执行以下操作:
select Product_ID, count(Product_ID) as OrderCount
from Orders
group by Product_ID
order by OrderCount desc
这将为您提供每个产品的订单数量。然后,您可以将列表向下筛选到您希望实际显示的数量。您可以通过“订单”表,通过按产品键分组并选择前三名来完成此操作 如果你想在你的数据库结构后得到更详细/有用的答案,但这是我的意思的一个例子
select top 3 , count(*) from orders group_by product_key order by count(*) DESC
请参阅此问题:在sql server
中,按计数从表顺序(*)中选择前3*项desc