mysql - 仅当所有匹配记录的值相同时才选择记录
问题描述
我有下表:
ID | 食物 | 类型 | 营养 |
---|---|---|---|
1 | 鸡 | 肉 | 健康 |
2 | 沙拉 | 蔬菜 | 健康 |
3 | 汉堡包 | 肉 | 不良 |
我想查询完全健康的所有类型的食物。这里的预期结果只是蔬菜,因为即使鸡肉是健康的,汉堡也被认为是不健康的。
解决方案
在 MySQL 或 Postgres 中,我们可以尝试聚合:
SELECT type
FROM yourTable
GROUP BY type
HAVING SUM(nutrition <> 'healthy') = 0;
推荐阅读
- ios - SwiftSoup cocoapods 仅安装且仅安装 1.4 版,而不是 1.5
- javascript - 为特定文件添加一个新行的 Gulp 任务
- elasticsearch - Filebeat 没有将日志发送到 logstash
- c# - 如何在带有 C# 的 .Net 应用程序中使用 Oracle 云基础设施 JAVA SDK 来访问存储
- javascript - 如何禁止用户从 DOM 中手动删除 HTML 元素?
- c# - 如何在 C# 中使用 mongodb changeStream?
- zabbix - Zabbix 外部检查和仪表板日志记录
- python - Python sed 正则表达式匹配
- r - 抓取跨越多行的单元格的维基百科表格
- asp.net-mvc - 显示错误行的 ASP.Net MVC Razor 视图