Вывод данных за неделю в sqllite
Пишу на python одну вещь. Но дело не в этом.
async def get_stat_day():
"""Статистика за день"""
async with aiosqlite.connect(db_url) as db:
async with db.execute("select count(distinct(user_id)) from statistics where add_date like ?", (f"%{datetime.date.today()}%",)) as cursor:
res = await cursor.fetchone()
print(f"Статистика за день - {res[0]} пользователей просмотрено")
Мне нужно это функцию переделать так, чтобы вывести данные за неделю(7 дней включая текущий). Не могу понять как. Нужна помощь.
Ответы (1 шт):
Автор решения: гилфойл
→ Ссылка
Уже сам разобрался. В принципе было изначально понятно как. Но из-за того что у меня дата хранилась в определенном формате то не работало. Сейчас работает.Спасибо
Моя реализация получилась такая
"""Статистика за неделю"""
today = datetime.date.today()
week_ago = datetime.date.today() - datetime.timedelta(days=7)
async with aiosqlite.connect(db_url) as db:
async with db.execute("select acc_name, count(distinct(user_id)) from statistics where add_date between ? and ? group by acc_name",(week_ago, today) ) as cursor:
rows = await cursor.fetchall()
print(f"Статистика за неделю\n")
for row in rows:
print(f"Аккаунт: {row[0]} - {row[1]} пользовател(я/ей)")```