sql >> Database >  >> RDS >> Mysql

Django MySQL groeperen per dag met tijdzone

Ah, dit was een mooie uitdaging. Ik heb kunnen testen met PostGres en ik kan bevestigen dat het werkt. De MySQL-code zou redelijk dichtbij moeten zijn. Er is echter een opmerking over de CONVERT_TZ documentatie :

MySQL (met behulp van CONVERT_TZ(dt , from_tz, to_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: (met behulp van AT TIME ZONE )

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. hoe genereer je een rapport tussen de twee datums met datepicker,ajax,php,mysql.?

  2. met behulp van MySql.Data.MySqlClient; werkt niet

  3. Caching met PHP om stress weg te nemen van MySQL

  4. Python MySQLdb-uitzonderingen