首页 > 解决方案 > 仅当所有匹配记录的值相同时才选择记录

问题描述

我有下表:

ID 食物 类型 营养
1 健康
2 沙拉 蔬菜 健康
3 汉堡包 不良

我想查询完全健康的所有类型的食物。这里的预期结果只是蔬菜,因为即使鸡肉是健康的,汉堡也被认为是不健康的。

标签: mysqlsqlpostgresql

解决方案


在 MySQL 或 Postgres 中,我们可以尝试聚合:

SELECT type
FROM yourTable
GROUP BY type
HAVING SUM(nutrition <> 'healthy') = 0;

推荐阅读