我想得到每周的平均值。为此,我首先计算当天子查询和组中的每日出现次数。然后我想平均每一天,并根据周数对它们进行分组。但是它没有给出预期的结果。
select avg(d.dayilyCount)
from (
select count(*) as dayilyCount, timestamp as inner_T
from steps
group by strftime('%D', timestamp / 1000, 'unixepoch', 'localtime')
) d
group by strftime('%W', d.inner_T/ 1000, 'unixepoch', 'localtime')
任何提示?
由于
编辑:
我想要的样本数据和结果:
-time-steps-
Day 1|Step 1|
Day 1|Step 1|
Day 2|Step 1|
Day 2|Step 1|
Day 2|Step 1|
-time-count- this is the subquery
Day 1|Step 2|<----imagine this is week 1
Day 2|Step 3|<----imagine this is week 4
然后我想要每周的平均值和按内部表计数返回的时间戳的周数组。
time |avg what I want
week 1| 1.0
week 4| 3.0
我得到了什么:
time |avg
week n| 4.0
我只得到一个结果而不是两个结果,即使我计算了不同的周数并在内部结果集中进行了分组。
编辑2:
我发现了问题,我在strftime()函数中使用了大写字母D而不是'%d'
select avg(d.dayilyCount)
from(
select count(*) as dayilyCount, timestamp as dt, strftime('%d-%W-%m-%Y', timestamp / 1000, 'unixepoch', 'localtime') as dwmy from steps group by dwmy
) d
group by strftime('%W-%m-%Y', d.dt / 1000, 'unixepoch', 'localtime')
加上我没有按特定日期,年份或月份进行分组。