[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