考虑以下列出一些书籍的作者:
Table
name bookid
---------------
Alan 1
Bob 1
Charlie 2
David 2
我想知道一个人在整个书线上有多少共同作者。例如,如果艾伦写了两本书,一本是鲍勃,另一本是查理+大卫,那么他的共同作者总数应该是3。
我尝试了什么(但没有工作):
select t1.name, count(t2.name)
from table t1, table t2
where t1.bookid = t2.bookid
任何帮助人?非常感谢。
答案 0 :(得分:1)
select t1.name, count(t2.name)
from table1 t1, table1 t2
where t1.bookid = t2.bookid
and t1.name != t2.name
group by t1.name
答案 1 :(得分:-1)
SELECT name, count(*) as cnt
FROM table
GROUP BY name;