Задать вопрос
@Evreii

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

Здравствуйте, пытаюсь написать запрос подходящий под условие: Посчитать сколько и каких экземпляров книг нужно заказать поставщикам, чтобы на складе было одинаковое количество экземпляров каждой книги, равное значению самого большого количества экземпляров одной книги на складе. Столбцу с количеством заказываемых экземпляров книг присвоить имя Заказ.
Вот моя попытка:
SELECT `title`, `author`, `amount`(SELECT MAX(`amount`) FROM `book`) AS Заказ FROM `book` WHERE COUNT(MAX(`amount` - `amount` FROM `book`));

Так же, прикрепляю саму таблицу со значениями:
604cfb574679e343497671.png
  • Вопрос задан
  • 677 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@mletov
SELECT *,
        (  (SELECT MAX(amount) FROM books) - amount ) AS orderAmount
FROM books
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для MySQL 8:
SELECT *,
       FIRST_VALUE(`amount`) OVER `win` - `amount` AS `Заказ`
  FROM `test`
  WINDOW `win` AS (ORDER BY `amount` DESC)
Ответ написан
Комментировать
@VitalyChaikin
SELECT *,
(MaxAmount.amount - amount ) AS orderAmount
FROM books
LEFT JOIN (SELECT MAX(amount) AS amount FROM books) AS MaxAmount ON True
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы