kak*_*a47 4 sqlite datetime android
我有一个sqlite数据库。我有三列:_id、日期、值。
我现在想根据日期中的日期提取 _id:s 的计数,并计算 int 值的平均值。这是针对 Android 应用程序的。
所以我想“选择日期中的日期和每一天(六十天),计算这一天有多少 _id:s。最后计算值的平均值。
我想它是这样的:
"SELECT DATE('now' 'days[i]') as date, COUNT(_id) as count, AVG(value) as vl FROM v_efforts WHERE DATE(v_efforts.date) = DATE('now' 'days[i]')";
Run Code Online (Sandbox Code Playgroud)
但我无法开始'days[i]'
工作。我不知道如何使这个值增加到 60,然后如何存储这 60 天中每一天的计数和 vl。
多谢!
您需要使用 GROUP BY 表达式按日期聚合条目。不太清楚您是要查找数据库中最近 60 天的条目,还是最近 60 天的条目(只有在假设每天都有条目的情况下才会相同)。
对于前者(过去 60 天有数据库条目),您可以使用 LIMIT 子句:
SELECT date,COUNT(_id),AVG(value) FROM v_efforts GROUP BY date ORDER BY date DESC LIMIT 60;
Run Code Online (Sandbox Code Playgroud)
对于后者(过去 60 个真实天数),您可以使用 WHERE:
SELECT date,COUNT(_id),AVG(value) FROM v_efforts WHERE date>DATE('now','-60 days') GROUP BY date ORDER BY date DESC;
Run Code Online (Sandbox Code Playgroud)