当前位置:首页 > 数据库 > SQlite

android – 每天DATE TIME从sqlite数据库获取数据

我有一个sqlite数据库.我有三列:_id,日期,值.

我现在想要根据日期中的日期提取_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;

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!