我现在想要根据日期中的日期提取_id:s的计数,并计算int值的平均值.这适用于Android应用.
因此,我想“选择日期和每天(60天)的日期,计算当天有多少_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]')";
但我无法让’days [i]’工作.我不知道如何将这个值增加到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;
对于后者(最近60个实际日期),您可以使用WHERE:
SELECT date,COUNT(_id),AVG(value) FROM v_efforts WHERE date>DATE('Now','-60 days') GROUP BY date ORDER BY date DESC;