[英]get the last 30 records from mysql but not the very last 1
我一直在嘗試找出/搜索如何執行此操作,但是失敗了。
我有一個ID為主鍵和自動遞增的表,還有一個列單擊器,它計算成員的單擊數。 我想做的是最后30條記錄中“ clickers”的平均值,最后1條除外
SELECT AVG(clickers) AS avgClickers FROM sitelogs_daily_stats ORDER BY id DESC LIMIT 30
但是此代碼包括最后的記錄。 我想跳過那個。
任何幫助都將非常有幫助。
將其包裝在派生查詢中:
SELECT
AVG(clickers) as avgClickers
FROM
(
SELECT clickers
FROM sitelogs_daily_stats
ORDER BY id DESC
LIMIT 1,29
) AS t1
注意,在派生查詢中,我們正在選擇感興趣的記錄,然后在外部查詢中將它們取平均。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.