@Jeux_Onmobil

Как правильно составить SQL-запрос?

Добрый всем день!
Имеется простенькая база учета книг в библиотеке.
Нужно вывести самого популярного автора за год.

60f6ed9298799508390035.jpeg
Нужные таблицы и поля: bookIssue (база с выданными книгами), idBook (Айдишник выданной книги), sum (кол-во выданных книг человеку за раз, везде 1)

Есть такой каркас, который просто выводит всех авторов, чьи книги брали в этом году.
<?php
        $year = date("Y");
        $stmt = $connection->prepare("SELECT DISTINCT `authors`.`last_name`, `authors`.`first_name`
        FROM `authors`
        JOIN `books` ON `authors`.`id` = `books`.`idAuthor`
        JOIN `bookissue` ON `books`.`id` = `bookissue`.`idBook`
        WHERE YEAR(`bookissue`.`data`) = ?");
        $stmt->bind_param("s", $year);
        $stmt->execute();
        $result = $stmt->get_result();
        $stmt->close();
        echo '<div>';
        echo '<ul>';
        $i = 0;
        while ($row = mysqli_fetch_array($result)) {
            echo '<li style="font-size: 22px">' . $row['last_name'] . ' ' . $row['first_name'] . '. Выдано книг: ' . $row[2] . '</li>';
            ++$i;
        }
        echo '</ul>';
        echo '</div>';
    ?>


Может ответ лежит на поверхности, я просто запутался и уже долго не могу понять, как его грамотно составить. Если что-то не понятно, могу ответить на вопросы.
Помогите, пожалуйста. Хотя бы можете описать словами)
  • Вопрос задан
  • 547 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
SELECT 
            `authors`.`id`, `authors`.`last_name`, `authors`.`first_name`, COUNT(*) `author_count`
        FROM `bookissue` 
        JOIN `books` ON `books`.`id` = `bookissue`.`idBook` 
        JOIN `authors` ON `authors`.`id` = `books`.`idAuthor`
        WHERE YEAR(`bookissue`.`data`) = ?
        GROUP BY `authors`.`id`, `authors`.`last_name`, `authors`.`first_name`
        ORDER BY `author_count` DESC
        LIMIT 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
джоин выданные книжки с книжками и с авторами и сум(авторс.ид) груп бай авторс.ид
Ответ написан
Комментировать
Mi11er
@Mi11er
A human...
Сумма ID выданных книг и левым джойном автора.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы