@Evreii

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

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

Так же, прикрепляю саму таблицу со значениями:
604cfb574679e343497671.png
  • Вопрос задан
  • 441 просмотр
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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