sql - SQL-在 1 列中获取具有多个值的值
问题描述
嘿,我一直在学习 SQL 并被困在一个问题上。假设数据库如下所示:
我想检索所有评级较差和平均评级的国家/地区。在这种情况下,它只会返回巴西和智利。
国家 | 评分 |
---|---|
巴西 | 好的 |
巴西 | 平均 |
巴西 | 较差的 |
智利 | 较差的 |
智利 | 平均 |
智利 | 好的 |
阿根廷 | 平均 |
秘鲁 | 较差的 |
秘鲁 | 杰出的 |
我已经尝试过条件,IN 条件,但它只会返回包含差或平均的所有内容。
谢谢!
解决方案
IIUC,您正在寻找
SELECT Country FROM your_table
WHERE Rating in ('Poor','Average')
GROUP BY Country
HAVING COUNT(DISTINCT Rating)=2
推荐阅读
- asp.net-core - 如何将 Identity 中的 AspNetUsers 表与另一个表连接起来?
- memory - 在 ABAP 会话之间传递结构化数据?
- python - Python 迭代 webelements 并添加到 DF
- python - pipenv install 给出 Failed to load paths 错误
- reactjs - 传递多个孩子作为道具
- nuxt.js - NuxtJs 在生成的静态输出上自定义第一个加载页面
- amazon-web-services - 如何在 Athena/Presto 中打印特殊字符
- intellij-idea - 如何在 IntelliJ 中以不同用户身份运行 JAR 应用程序?
- openssl - 使用 window.crypto.subtle.decrypt 在浏览器中解密 AES 加密图像
- typescript - IAB.close() 已调用但已关闭