我有2张桌子书和副本。我计算了那些副本的2个日期之间的时间,并按bookID分组,两个日期之间有什么,我得到以下结果:
SELECT BookID, Count(CopyID)
from Copy
INNER join Book on Book.BookID = Copy.BookdID
where Copy.Time BETWEEN '2017.12.11' AND '2017.12.15'
GROUP BY BOOKID
这是我的问题:我想计算所有副本在我的查询中有相同的BookID。例如:我有BookID 111111
的1个结果,但是如果有8个副本我想以某种方式包括我的结果。
Ben,以下查询显示书籍的所有副本的计数,其中给定的两个日期之间至少有一个副本
请检查它是否输出所需的内容
select
b.BookID, Count(c.CopyID)
from Book as b
left outer join Copy as c
on b.BookID = c.BookID
where b.BookID in (
select
distinct c.BookID
from Copy as c
where c.Time BETWEEN '2017.12.11' AND '2017.12.15'
)
group by
b.BookID
我认为你甚至不需要预订餐桌
select c.ID, count(*)
from copy c
where exists ( select 1
from copy
where copy.ID = c.ID
and copy.Time BETWEEN '2017.12.11' AND '2017.12.15'
)
group by c.ID