-2

我想要一个从特定的不超过 500SQL Query的表中获取所有记录。sumcolumn

例如:有一个dish tablewith dish_name, calorie_value, fat_value, protein_valueas 列名。现在我需要获取卡路里值不超过 500dish table的所有记录。sum

我当前的 SQL 查询:

SELECT * FROM dish WHERE SUM(calorie_value) < 500

但我对group功能的使用无效。

4

2 回答 2

2

您需要对您的独特领域进行分组。(即dish_name在你的情况下)。然后,如果您想选择所有字段,则必须使用子查询。你的情况会在HAVING陈述中出现。

所以你的查询应该是这样的:

SELECT * FROM dish 
WHERE dish_name IN ( SELECT dish_name FROM dish
                     GROUP BY dish_name
                     HAVING SUM(calorie_value) < 500 )
于 2013-06-29T12:01:03.253 回答
1

当您说要返回卡路里值总和不超过 500 的所有记录时,这实际上没有意义。表中的单个行只能有一个卡路里值值。所以你可以使用:

select * from dish where calorie_value < 500

这是你需要的吗?

于 2013-06-29T12:06:14.867 回答