我一直试图找出/搜索如何做到这一点但失败了。
我有一个id为主键和自动增量的表,以及一个用于计算成员点击次数的列式答题器。我要做的是平均最后30条记录的“答题者”的价值,除了去年的最后一个记录
SELECT AVG(clickers) AS avgClickers FROM sitelogs_daily_stats ORDER BY id DESC LIMIT 30
但此代码包含最后的记录。我想跳过那个。
任何帮助都会非常有帮助。
答案 0 :(得分:1)
将其包装在派生查询中:
SELECT
AVG(clickers) as avgClickers
FROM
(
SELECT clickers
FROM sitelogs_daily_stats
ORDER BY id DESC
LIMIT 1,29
) AS t1
注意在派生查询中,我们选择感兴趣的记录,然后在外部查询中对它们进行平均。
答案 1 :(得分:0)
SELECT AVG(clickers) AS avgClickers
FROM sitelogs_daily_stats
WHERE id BETWEEN
(SELECT MAX(id)
FROM sitelogs_daily_stats) - 29 AND
(SELECT MAX(id)
FROM sitelogs_daily_stats) - 1