diff --git a/superset/db_engine_specs/sqlite.py b/superset/db_engine_specs/sqlite.py index dce21dc51..50451e9bf 100644 --- a/superset/db_engine_specs/sqlite.py +++ b/superset/db_engine_specs/sqlite.py @@ -88,12 +88,10 @@ class SqliteEngineSpec(BaseEngineSpec): TimeGrain.YEAR: "DATETIME({col}, 'start of year')", TimeGrain.WEEK_ENDING_SATURDAY: "DATETIME({col}, 'start of day', 'weekday 6')", TimeGrain.WEEK_ENDING_SUNDAY: "DATETIME({col}, 'start of day', 'weekday 0')", - TimeGrain.WEEK_STARTING_SUNDAY: ( - "DATETIME({col}, 'start of day', 'weekday 0', '-7 days')" - ), - TimeGrain.WEEK_STARTING_MONDAY: ( - "DATETIME({col}, 'start of day', 'weekday 1', '-7 days')" - ), + TimeGrain.WEEK_STARTING_SUNDAY: "DATETIME({col}, 'start of day', \ + -strftime('%w', {col}) || ' days')", + TimeGrain.WEEK_STARTING_MONDAY: "DATETIME({col}, 'start of day', '-' || \ + ((strftime('%w', {col}) + 6) % 7) || ' days')", } # not sure why these are different _time_grain_expressions.update(