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

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

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

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

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

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