[SQL ] 如何過濾同一個區間多餘的資料
資料庫名稱:MySQL
資料庫版本:5.6
內容/問題描述:
資料表架構以及資料
id server_id amount created_at
"1" "1" "20" "2018-02-04 16:05:03"
"2" "2" "10" "2018-02-04 16:05:03"
"3" "1" "12" "2018-02-04 16:06:02"
"4" "2" "30" "2018-02-04 16:06:02"
"5" "1" "10" "2018-02-04 16:06:10"
"6" "2" "40" "2018-02-04 16:06:10"
"7" "1" "15" "2018-02-04 16:07:04"
"8" "2" "15" "2018-02-04 16:07:04"
各位好,我的 crontab 每分鐘會執行一次,去紀錄每台 server 的人數
但有可能因為測試原因,造成同一分鐘不只一組資料
像這個 demo id 5 以及 6 就是多餘的
我要統計的語法為
SELECT COUNT(*) AS server_amount, MIN(amount), MAX(amount)
FROM stats
GROUP BY DATE_FORMAT(created_at, '%Y-%m-%d %H:%i')
上面這段資料得到的結果則是
"2" "10" "20"
"4" "10" "40"
"2" "15" "15"
第二筆資料受到了錯誤資料的影響,不知道怎麼排除在該時間內多餘的資料
server 不一定只有兩台,所以不能用 server_id 數字當作依據
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.38.137
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1517732552.A.C48.html
※ 編輯: chan15 (122.116.234.173), 02/04/2018 18:28:10
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章