Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从内部表的结果集中获取平均值_Sql_Sqlite - Fatal编程技术网

Sql 从内部表的结果集中获取平均值

Sql 从内部表的结果集中获取平均值,sql,sqlite,Sql,Sqlite,我想得到每周的平均值。为此,我首先按天统计子查询和组中的每日发生次数。然后我想平均每天,并根据周数进行分组。然而,它并没有给出预期的结果 select avg(d.dayilyCount) from ( select count(*) as dayilyCount, timestamp as inner_T from steps group by strftime('%D', timestamp / 1000, 'unixe

我想得到每周的平均值。为此,我首先按天统计子查询和组中的每日发生次数。然后我想平均每天,并根据周数进行分组。然而,它并没有给出预期的结果

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  
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')

另外,我并没有按照一个特定的日期、年份或月份分组,这也是我应该做的。

我补充了一个解释。我会尽量重写得更好,但现在是这样。好得多,但是你能不能显示你用来得到4.0结果的实际数据,一个选择的dayilyCount,steps中的时间戳?我发现了这个问题。我使用了%D而不是%D,因此它返回null。我更新了操作。它至少给出了期望的结果。我添加了一个解释。我会尽量重写得更好,但现在是这样。好得多,但是你能不能显示你用来得到4.0结果的实际数据,一个选择的dayilyCount,steps中的时间戳?我发现了这个问题。我使用了%D而不是%D,因此它返回null。我更新了op。它至少给出了期望的结果。
 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')