MySQL Группируется По дате, когда у меня есть UTC

#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. Вы удивительны, здорово узнать, что существует функция «дата», большое вам спасибо!