无法弄清楚SQL查询

时间:2014-01-15 19:34:26

标签: mysql sql

在我的数据库中,我在名为foodgroups的表格中有某些类别的食物。因此,我将食物项目放在与这些类​​别相关的不同表格中。此外,我创建了一个包含称为订单的订单的表,以及一个定义订单的“订单食品”表,根据订单中有多少产品。

我的目的是展示每类食品中销售最多的食品。因此,我希望列出一个带有类别的专栏,然后在其旁边找到与此类食品项目中销售最多的食品项目的列。

Select  foodgroups.name, SUM(orderfood.fooditem_ID*orderfood.amount)

FROM    orders, orderfood, products, productgroups

Where   productgroups.productgroup_ID=products.productgroup_ID

AND     orders.order_ID=orderfood.order_ID

AND     products.product_ID=orderfood.product_ID

Group by productgroups.productgroup_ID` 

到目前为止,它没有显示任何错误,但我不知道如何获得一个只有最常购买的食物旁边的一个专栏。也许你可以帮助我,谢谢你:)。

BTW,我正在使用MySQL工作台。

http://sqlfiddle.com/#!2/4b79c/2

1 个答案:

答案 0 :(得分:-1)

我认为你正在寻找MAX功能。将其添加到您的选择语句

Select  foodgroups.name, SUM(orderfood.fooditem_ID*orderfood.amount), max(orderfood.amount)

FROM    orders, orderfood, products, productgroups

Where   productgroups.productgroup_ID=products.productgroup_ID

AND     orders.order_ID=orderfood.order_ID

AND     products.product_ID=orderfood.product_ID

Group by productgroups.productgroup_ID` 

这应该会给你带来最有序的食物