Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Django MySQL grupuj według dnia ze strefą czasową

Ach, to było dobre wyzwanie. Udało mi się przetestować z PostGres i mogę potwierdzić, że działa. Kod MySQL powinien być całkiem zbliżony. Jest jednak uwaga na temat Dokumentacja CONVERT_TZ :

MySQL (używając CONVERT_TZ(dt , od_tz, do_tz) )

from_tz = 'UTC'
to_tz = 'Australia/ACT'
report = Sale.objects.extra(
    {
        'day': "date(CONVERT_TZ(sale_date, '{from_tz}', '{to_tz}'))".format(
            from_tz=from_tz,
            to_tz=to_tz
         )
    }
).values(
    'day'
).annotate(
    day_total=Sum('total')
)

PostGres: (przy użyciu W STREFIE CZASOWEJ )

time_zone = 'Australia/ACT'
report = Sale.objects.extra(
    {'day': "date(sale_date) AT TIME ZONE '{0}'".format(time_zone)}
).values(
    'day'
).annotate(
    day_total=Sum('total')
)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz, gdzie tablica JSON zawiera

  2. Jak wykryć zakleszczenia w Mysql/innodb?

  3. MySQL COUNT() – Uzyskaj liczbę wierszy do zwrócenia przez zapytanie

  4. MySQL. Wybierz zakres lat

  5. Uzyskiwanie dostępu do mysql XAMPP przez Pythona