[SQL ] 如何過濾同一個區間多餘的資料

作者: chan15 (ChaN)   2018-02-04 16:22:30
資料庫名稱: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 數字當作依據

Links booklink

Contact Us: admin [ a t ] ucptt.com