计算某本书在不同库中存在的唯一次数

时间:2018-05-08 18:23:06

标签: sql sqlite

我有一个具有以下结构的SQL表。我知道这可能不是表示数据的最佳方式,但这就是我获取数据的方式。

$ ruby -v

ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

我想查询一本书,找到它存在多少个库。我对这些副本不感兴趣。我只是想知道一本书所在的不同图书馆的数量,而不管某个图书馆的副本。

因此,在上面的示例中,如果我想计算ID为2m4的图书库的数量,答案应该只有2,因为它只存在于两个库中,无论每个库保存多少副本。

我试过了:

BOOKID  LibraryID

2m4           1          
2m4           1
3ds           3
3ds           1
3ds           2
5tR           1
2m4           4

它给了我书在表中出现的次数,即使它在同一个库中重复出现。我正在寻找的是计算不同图书馆中存在的独特时间。

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用DISTINCT关键字并指定LibraryID:

    select bookid,count(distinct LibraryID) from books group by bookid