Подсчет уникального количества раз, когда определенная книга существует в разных библиотеках - PullRequest
0 голосов
/ 08 мая 2018

У меня есть таблица SQL, которая имеет следующую структуру. Я знаю, что это может быть не лучший способ представления данных, но именно так я получил данные.

BOOKID  LibraryID

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

Я хочу сделать запрос, чтобы найти для определенной книги, в какой библиотеке она существует. Мне не интересны копии. Я просто хочу узнать количество различных библиотек, в которых находится книга, независимо от количества копий в определенной библиотеке.

Таким образом, в приведенном выше примере, если я хочу посчитать количество библиотек для книги с ID 2m4, ответ должен быть только 2, поскольку он существует только в двух библиотеках независимо от того, сколько копий хранится в каждой библиотеке.

Я пытался:

select bookid,count(*) from books group by bookid

Это дало мне количество раз, когда книга появлялась в таблице, даже если она повторяется в той же библиотеке. То, что я ищу, - это подсчет уникальных времен, когда книга существует в разных библиотеках.

Заранее спасибо.

1 Ответ

0 голосов
/ 08 мая 2018

Используйте ключевое слово DISTINCT и укажите LibraryID:

    select bookid,count(distinct LibraryID) from books group by bookid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...