我有两个表“book”和“authorCollection”。因为一本书可能有多位作者,所以我希望得到2000年(包括)之后出版的表“book”中的平均作者数。 例如:
Table Book:
key year
1 2000
2 2001
3 2002
4 1999
Table authorCollection:
key author
1 Tom
1 John
1 Alex
1 Mary
2 Alex
3 Tony
4 Mary
结果应该是(4 + 1 + 1)/ 3 = 2;(键4在2000年之前发布)。 我写了下面的查询语句,但不对,我需要得到子查询中的结果数,但不能给它一个标签“b”,我该如何解决这个问题?并获得作者的平均数量?我仍然对“COUNT(*)as count”的意思感到困惑....感谢。
SELECT COUNT(*) as count, b.COUNT(*) AS total
FROM A
WHERE key IN (SELECT key
FROM Book
WHERE year >= 2000
) b
GROUP BY key;
答案 0 :(得分:3)
首先,计算子查询中authors
的{{1}}个数。接下来,汇总所需的值:
key
答案 1 :(得分:0)
A sample以及处理'除以零'错误:
{{1}}