SQL Select * Query其中sum(col_name)< 500

时间:2013-06-29 11:56:05

标签: php mysql sql

我想要一个SQL Query,它会从表格中提取特定sum的{​​{1}}不超过500的所有记录。

例如:columndish table作为列名。现在,我需要从dish_name, calorie_value, fat_value, protein_value获取卡路里值dish table不超过500的所有记录。

我当前的SQL查询:

sum

但我无效使用SELECT * FROM dish WHERE SUM(calorie_value) < 500 功能。

2 个答案:

答案 0 :(得分: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 )

答案 1 :(得分:1)

如果你想要返回calorie_value总和不超过500的所有记录,这实际上没有意义。表中的单个行只能有一个calorie_value值。所以你可以使用:

select * from dish where calorie_value < 500

这是你需要的吗?