我想要一个SQL Query
,它会从表格中提取特定sum
的{{1}}不超过500的所有记录。
例如:column
有dish table
作为列名。现在,我需要从dish_name, calorie_value, fat_value, protein_value
获取卡路里值dish table
不超过500的所有记录。
我当前的SQL查询:
sum
但我无效使用SELECT * FROM dish WHERE SUM(calorie_value) < 500
功能。
答案 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
这是你需要的吗?