在我的Android应用程序中,我使用sqlite来存储数据行。每天会有多行,每行都有一个以毫秒为单位存储的日期时间。
e.g。
millis, col1, col2, num
xxxx, abc, xyz, 24
xxxx, abc, xyz, 24
xxxx, abc, xyz, 24
xxxx, abc, xyz, 24
我可以有一个查询,可以按天(即24日,25日,26日等)对millis列进行分组,并给出我的num col的平均值吗?
e.g。输出:
Date avg
2013-11-08 20
2013-11-07 24
答案 0 :(得分:2)
SQLite的Unix Time format只需几秒钟,你必须首先除以1000。 然后,您可以使用date functions中的一个来获取时间戳的日期部分:
SELECT DATE(millis / 1000, 'unixepoch') AS Date,
AVG(num) AS avg
FROM MyTable
GROUP BY Date
答案 1 :(得分:-1)
使用from_unixtime将您的毫秒转换为日期,然后将该值包装到DATE()函数中,以仅保留日期部分,忽略小时,分钟和秒。
查询的其余部分很简单。
SELECT DATE(FROM_UNIXTIME(millis)) AS date,
AVG(num) AS average
FROM table_name
GROUP BY date