记录属性的最大计数

时间:2013-11-06 08:29:31

标签: sql-server sql-server-2008

我有一个employeebook表,其中包含员工ID和book id列(等等)。

Emp_id|Book_id|.......

还有另一个表HistoryBooks:

Book_id|description|.....

请注意,员工所拥有的所有图书都不一定是历史书籍

我需要找出拥有最多历史书籍的10名员工 - 员工ID和他们拥有的历史书籍数量。

我正在使用SQL Server 2008.
感谢帮助

2 个答案:

答案 0 :(得分:0)

select top 10 emp_id,count(distinct book_id)
from employeebook 
where isnull(book_id,0)<>0
group by emp_id

更新查询

select top 10 e.emp_id,count(distinct b.book_id)
from employeebook e
inner join HistoryBooks b on e.book_id=b.book_id
group by emp_id

答案 1 :(得分:0)

为此

使用分组依据
select top 10 emp_id, count(book_id) as NoOfBookID from EmployeeBook group by emp_id