如何根据该用户是否有多行来选择用户?

时间:2014-06-20 13:42:27

标签: sql sql-server-2008-r2

我最近有一个面试问题,其措辞如下:

  

从用户表中选择所有用户,其中用户为多个企业工作,并且至少有一个企业的工资超过90000。

每行代表一个用户。有些用户有多行(当他们为多个企业工作时),每个用户都有一个businessId。

我还不熟悉SQL,在编写应用程序代码时我做了很多基本的selectupdate语句,但是我不确定如何去做这个。我是否应该使用count来确定一个用户是否有多行?我不确定如何使用where子句来构造它以检查薪水。

1 个答案:

答案 0 :(得分:3)

由用户分组(例如名称)。然后,您可以使用having子句在组中执行聚合操作 - 这意味着每个用户

select username
from users
group by username
having count(distinct businessId) > 1
and max(salary) > 90000