sql >> Database teknologi >  >> RDS >> Mysql

Django MySQL gruppe efter dag med tidszone

Ah, det var en god udfordring. Jeg var i stand til at teste fra PostGres, og jeg kan bekræfte, at det virker. MySQL-koden burde være ret tæt på. Der er dog en note om CONVERT_TZ dokumentation :

MySQL (ved hjælp af CONVERT_TZ(dt) , fra_tz, til_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: (ved hjælp af AT TIDZONE )

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. Venskabssystem SQL-struktur og forespørgsel

  2. Php - Din PHP-installation ser ud til at mangle MySQL-udvidelsen, som kræves af WordPress

  3. Linq til SQL ved hjælp af gruppe efter, og rækkefølge efter antal

  4. Hvad er en god måde at denormalisere en mysql-database på?