首页 > 解决方案 > SQL-在 1 列中获取具有多个值的值

问题描述

嘿,我一直在学习 SQL 并被困在一个问题上。假设数据库如下所示:

我想检索所有评级较差和平均评级的国家/地区。在这种情况下,它只会返回巴西和智利。

国家 评分
巴西 好的
巴西 平均
巴西 较差的
智利 较差的
智利 平均
智利 好的
阿根廷 平均
秘鲁 较差的
秘鲁 杰出的

我已经尝试过条件,IN 条件,但它只会返回包含差或平均的所有内容。

谢谢!

标签: sqlrelational-division

解决方案


IIUC,您正在寻找

SELECT Country FROM your_table
WHERE Rating in ('Poor','Average')
GROUP BY Country 
HAVING COUNT(DISTINCT Rating)=2

推荐阅读