mysql - 根据特定条件返回唯一行
问题描述
我需要一个查询,它将返回不同的行,但不会返回任何具有重复水果的行,其中行之一是“已批准”。注意:总是最多有两个同名的水果。
例如,理想的结果是:
到目前为止,我所拥有的只是:
SELECT DISTINCT * FROM Food;
但这显然仍然返回具有水果“Apple”的行之一
解决方案
您可以对所需的结果集使用一些条件聚合,例如
select fruit, min(status)
from demo
group by fruit
having sum(status = 'Approved') = 0
and sum(status = 'Bought') > 0
或者只是使用select fruit, 'Bought' as status
推荐阅读
- .net - 失败,因为返回的路径不存在
- java - 创建apk文件时发现错误':app:mergeDebugResources'
- c# - 以编程方式将 ics 会议邀请添加到 Google 日历
- html - HTML表单提交按钮在手机中不起作用
- function - Scala Mock:MockFunction0-1() 一次(从未调用 - 不满意)
- javascript - Laravel 集体中的日期选择器
- python - 如何使用 mongodb 在 django 中创建内部连接?
- apache-spark - kafka kafka-consumer-groups.sh --describe 不返回消费者组的输出
- c# - 问号在这里的作用是什么“类
“在 C# 中? - python - 加载 PyTorch NN 模型的检查点时出现异常