2011-11-05 16 views
0

大家好,我似乎被卡住了,我希望你们能帮助我。我正在尝试编写一个代码,它只显示最有序的食物项目,并且已经订购了多少次,而不需要添加数量> 5或其他东西。我只是想代码本身给我的最订购的商品我有这些表:我正在尝试使用sqlite在我的表格中找到最受欢迎的项目

房间服务

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

RSLINEITEM

  • 订单编号(主键)类型:整数
  • ItemNumber类型:整数
  • 数量类型:整数

项目

  • ItemNumber(厦华RY键)类型:整数
  • 描述类型:文本
  • 价格类型:整数

到目前为止,我已经得到我的SQL代码,以显示我的所有项目(描述)和项目数的已下令。我只想要最有序的物品。

我的代码:

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

我Reults是:

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 

回答

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开始)。

我还简化了代码USINGInfo at the same source

+0

谢谢你先生,你是一个天才和学者。 – user1025064

相关问题