我试图使用sqlite在我的表中找到最受欢迎的项目

时间:2011-11-05 04:52:50

标签: sql sqlite count max

大家好,我好像被卡住了,我希望你们能在这里帮助我。我正在尝试编写一个代码,该代码只显示最有序的食品项目以及订购了多少次而没有添加数量> 5或其他东西。我只想要代码给我最有序的项目我有这些表:

房间服务

  • RoomServiceNumber(主键)类型:整数
  • OrderNumber类型:整数
  • GuestID类型:整数
  • 日期类型:DateTime
  • 时间类型:日期时间
  • TotalPrice类型:整数

RSLINEITEM

  • OrderNumber(主键)类型:整数
  • ItemNumber类型:整数
  • 数量类型:整数

ITEM

  • ItemNumber(主键)类型:整数
  • 描述类型:文字
  • 价格类型:整数

到目前为止,我已经获得了我的sql代码,以显示所有项目(描述)和订购的项目数量。我只想要最有序的物品。

我的代码:

SELECT Description, SUM(Quantity) AS NumberofTimesOrdered
FROM RSLINEITEM JOIN ITEM ON (RSLINEITEM.ItemNumber=ITEM.ItemNumber)
GROUP BY Description 

我的结果是:

   Description       NumberofTimesOrdered
   Baked Potato      1
   Bud Light Bottle  2
   French Fries      1
   Heineken Bottle   2
   Large Coke        1
   Large Sprite      3
   Pork Cutlet       4
   Prime Rib         6
   Orange Juice      1

我只希望我的代码只显示这样的内容:

   Description       NumberofTimesOrdered
   Prime Rib         6

1 个答案:

答案 0 :(得分:0)

使用ORDER BYLIMIT

SELECT Description
      ,SUM(Quantity) AS NumberofTimesOrdered
FROM   RSLINEITEM
JOIN   ITEM USING (ItemNumber)
GROUP  BY Description 
ORDER  BY 2 DESC
LIMIT  1

您可以在ORDER BY子句中重复该表达式或使用序号。 The manual about that

  

如果ORDER BY表达式是一个常数整数K,那么表达式   被认为是结果集的第K列的别名(列   从1开始从左到右编号。

我还使用USING简化了代码。 Info at the same source