mysql - 根据特定条件返回唯一行

标签 mysql sql

enter image description here

我需要一个查询,该查询将返回不同的行,但不会返回任何具有重复水果且其中一行为“已批准”的行。注意:同名的水果总是最多有两个。

例如,理想的结果是:

enter image description here

到目前为止我所拥有的只是:

SELECT DISTINCT * FROM Food;

但这显然仍然返回包含水果“Apple”的行之一

最佳答案

您可以使用一些条件聚合来获得所需的结果集,例如

select fruit, min(status)
from demo
group by fruit
having sum(status = 'Approved') = 0
and sum(status = 'Bought') > 0

或者只是使用选择水果,“已购买”作为状态

Demo

关于mysql - 根据特定条件返回唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50495956/

相关文章:

c# - SQL 服务器 : return all rows in table and read their values

php - MYSQL从异常中删除

javascript - 从下拉选项填充表单输入,解析 json 数据属性

MySQL 错误代码 : 1205. 内部连接更新期间锁定等待超时

sql - 计算 SQL Server 中以前的连续行

SQL Server 2008错误

java - 为 Derby DB 使用 PreparedStatement 时出现 SQLException

java - 在 MySQL 的选择查询中将 VARBINARY 值转换为字符串?

php - PHP PDO事务复制

sql - 如果事务处于 Postgresql 中的可重复读隔离级别,那么事务会看到来自另一个并发事务的插入吗?