SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.01.2017 18:23:28

toshick
Участник
Зарегистрирован: 12.01.2017
Сообщений: 1

Помощь с запросом MySQL

Задача: показать идентификаторы всех читателей, взявших в библиотеке больше всего книг.

Таблица subscriptions во вложении. Описание полей:
sb_id — идентификатор подписки (число, первичный ключ);
sb_subscriber — идентификатор читателя (подписчика) (число, внешний ключ);
sb_book — идентификатор книги (число, внешний ключ);
sb_start — дата выдачи книги (дата);
sb_finish — запланированная дата возврата книги (дата);
sb_is_active — признак активности подписки (содержит значение Y, если книга ещё на руках у читателя, и N, если книга уже возвращена в библиотеку);

Из таблицы видно, что читатель №1 брал книги 4 раза, и читатель №4 брал книги 4 раза. В выводе должны быть читатели №1 и №4.


Прикрепленные файлы:
Attachment Icon Таблица subscriptions.jpg, Размер: 87,304 байт, Скачано: 352

Неактивен

 

#2 12.01.2017 19:52:14

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помощь с запросом MySQL

select t.sb_subscriber from
(select sb_subscriber, count(*) as co from subscriptions group by sb_subscriber) t
join
(select count(*) as max_count from subscriptions group by sb_subscriber order by 1 desc limit 1) t1
on t.sb_subscriber=t1.sb_subscriber and t.co=t1.max_count;
 

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson