I have db.define_table('mytable', ..., Field('notified', 'datetime') ...)
I want to count the number of notifications that have been sent out on any
given day using a 1 day resolution, but I can't make "notified" a date
because I need 1 second resolution as to when the notification was sent for
a different measurement.
Is there an easy way to do a groupby such that the notified date is grouped
by day and not by second? I've tried this:
db(...).select(db.mytable.notified, db.mytable.notified.count(),
groupby=(db.mytable.notified.year() | db.mytable.notified.month() |
db.mytable.notified.day()),
orderby=(db.mytable.notified.year() | db.mytable.notified.month() |
db.mytable.notified.day()),
)
but this will cause a ticket saying that I also need to put in "|
db.mytable.notified", which will screw up the 1 day resolution. Any
thoughts as to how to do this elegantly, without making a duplicate field,
but type "date" instead of "datetime"?