我有3张表如下。
人( pid ,姓名) 书( isbn ,标题) 阅读( pid , isbn )
如何选择超过10人阅读的图书标题
答案 0 :(得分:2)
好的,如果您只是想要这些书的清单,那么您可以做这样的事情。我已将结果更改为大于5,因此没有愚蠢的样本数据。
这会计算每本书的独特读者,而不是总读数(如果有人不止一次读过这本书)。
样本数据
CREATE TABLE #Read (pid int, isbn int)
INSERT INTO #Read (pid, isbn)
VALUES
(1,1324)
,(2,1324)
,(3,1324)
,(4,1324)
,(5,1324)
,(6,1324)
,(1,5678)
,(2,5678)
查询
SELECT
r.isbn
,COUNT(DISTINCT r.pid) Readers
FROM #Read r
GROUP BY r.isbn
HAVING COUNT(DISTINCT r.pid) > 5
结果
isbn Readers
1324 6
答案 1 :(得分:0)
select isbn, count(*) from read
group by isbn
having count(*) > 10