sql - SQL - 返回仅将项目评论为“差”的用户 ID
问题描述
在 SQL 中查询以下问题的最佳方法是什么?
我想将仅审核项目的 UserID 返回为"Poor"。在下表中,仅UserID 1
应返回。
UserID ItemID Rank
-------|---------|----------
1 | 1 | Poor
2 | 1 | Fair
1 | 2 | Poor
2 | 2 | Excellent
2 | 3 | Poor
查询(基于上表)应仅返回 ID 1,因为该 ID 从未将任何其他项目视为“差”以外的任何项目
UserID
-------
1
解决方案
使用group by
和having
:
select userid
from t
group by userid
having min(rank) = max(rank) and
min(rank) = 'Poor';
推荐阅读
- html - 至少将布局设置为视口高度
- c# - ApiController 无法使用 404 预期
- mqtt - 节点红色。来自 mqtt 代理(mosca)的溢出/中断消息
- notepad++ - 如何在记事本++中用双引号(“”)替换多个关键字
- angular - 除非用户使用 capslock 和 shift 键,否则使用 css 自动大写必填字段时,Angular 7 反应式表单始终无效
- javascript - 条件 HTML 元素外的点击检测 - Angular 6
- git - 错误:无法生成钩子/预接收:没有这样的文件或目录,但服务器端 git-repository 中存在钩子/预接收
- .net - 模型中的表单验证
- gcc - 始终使用 Yocto 中的 DEBUG_FLAGS
- javascript - 尝试在图像加载到文件夹下方时淡入图像