首页 > 解决方案 > 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

标签: sqlgroup-bycounthaving-clause

解决方案


使用group byhaving

select userid
from t
group by userid
having min(rank) = max(rank) and
       min(rank) = 'Poor';

推荐阅读