作者chan15 (ChaN)
看板Database
标题[SQL ] 如何过滤同一个区间多余的资料
时间Sun Feb 4 16:22:30 2018
资料库名称: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://webptt.com/cn.aspx?n=bbs/Database/M.1517732552.A.C48.html
※ 编辑: chan15 (122.116.234.173), 02/04/2018 18:28:10