#mysql #time #sum #resultset
#mysql #время #сумма #набор результатов
Вопрос:
Покажите вместе с названием фильма и годом, каково было бы время показа научно-фантастических фильмов, добавив 20 минут к времени выполнения.
Мне нужно сделать запрос, который вернет это, и я нигде не нашел, как добавить эти 20 минут, в продолжительности я указываю ВРЕМЯ как тип данных, и когда я помещаю данные, я помещаю их так:00: 00:00. Теперь я не знаю, как сделать эту сумму.
SELECT title, year, duration FROM film WHERE genero = "fiction" GROUP BY duration;
Я знаю, что до тех пор проблема заключается в сумме. Кто-нибудь знает, как это сделать??
Комментарии:
1. Что такое тип
duration
данных ?2. Если это
TIME
илиDATETIME
, вы можете использоватьDATE_ADD(duration, INTERVAL 20 MINUTE)
3. Почему вы используете
GROUP BY duration
без каких-либо функций агрегации?
Ответ №1:
Используйте эту DATE_ADD()
функцию, чтобы добавить интервал к дате или времени.
SELECT title, year, TIME(DATE_ADD(duration, INTERVAL 20 MINUTE)) AS running_time FROM film WHERE genero = 'fiction'
В этом нет необходимости GROUP BY
, так как вы хотите показать все фильмы. Ты это имел в виду ORDER BY duration
?
Комментарии:
1. Я хочу показывать художественные фильмы, я просто добавил «группа по», потому что не знал, что делать, я тоже немного путаюсь с «ГРУППОЙ ПО» и «ПОРЯДКОМ ПО», но я работаю над этим, и я так благодарен, правда, спасибо, это сработало!!!
2.
GROUP BY xxx
означает, что вы получаете только одну строку в результатах для каждого отдельного значенияxxx
.