【发布时间】:2018-07-09 08:07:12
【问题描述】:
select
substr(insert_date, 1, 14),
device, count(1)
from
abc.xyztable
where
insert_date >= DATE_SUB(NOW(), INTERVAL 10 DAY)
group by
device, substr(insert_date, 1, 14) ;
然后我试图获得我上面得到的相同行数的平均值。
SELECT
date, device, AVG(count)
FROM
(SELECT
substr(insert_date, 1, 14) AS date,
device,
COUNT(1) AS count
FROM
abc.xyztable
WHERE
insert_date >= DATE_SUB(NOW(), INTERVAL 10 DAY)
GROUP BY
device, substr(insert_date, 1, 14)) a
GROUP BY
device, date;
因为我发现两个查询都返回相同的结果,所以我尝试了过去 10 天的数据。
我的目的是获取我从上述第一个查询中获得的过去 10 天的平均行数。
【问题讨论】:
-
那么您的问题到底是什么?你打算用
count(1)做什么? -
所以您的问题不是您所说的它们之间的区别,而是如何从第一个查询的计数结果中获取平均值?
-
ate_tag_no,已更新,我使用的是设备而不是这个。
-
@Sloan Thrasher,它就像 count (*) 一样简单。我的问题是在第一个查询中找到每个结果的平均值。