#mysql #sql #group-by #utc
Вопрос:
У меня есть данные в базе данных MySQL, которая содержит значение и время UTC, когда это значение было введено, вот так:
----value---|-----------utc---------
8 | 2021-05-28 16:59:24
------------------------------------
12 | 2021-05-28 20:51:11
------------------------------------
3 | 2020-12-12 13:45:34
------------------------------------
При этом, как я мог бы сгруппировать эти значения по дате UTC, но не по времени, что-то вроде псевдо-запроса SELECT value, utc GROUP BY utc
вернет сумму всех значений, сгруппированных по дате, например:
----value---|-----------date---------
20 | 2021-05-28
------------------------------------
3 | 2020-12-12
------------------------------------
Любая помощь будет очень признательна, спасибо!
Ответ №1:
Просто используйте date()
функцию:
select date(utc), sum(value)
from t
group by date(utc);
Или на определенную дату:
select sum(value)
from t
where utc >= '2021-05-08' and
utc < '2021-05-09'
Комментарии:
1. Вы удивительны, здорово узнать, что существует функция «дата», большое вам спасибо!