我有一个包含三列的表格:
`id` int(11) NOT NULL auto_increment
`tm` int NOT NULL
`ip` varchar(16) NOT NULL DEFAULT '0.0.0.0'
我想运行一个查询,检查是否在一分钟内记录了相同的IP,然后删除了其中一个条目。
例如,我有两行。
id=1 tm=1361886629 ip=192.168.0.1
id=2 tm=1361886630 ip=192.168.0.1
我只想在数据库中保留一个。
我已经阅读了很多其他删除重复/部分重复输入问题,但我正在寻找一种方法来比较Unix /纪元时间的最后两位数字,并删除除了一个以外的所有数据加上IP。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以在mysql中使用CAST
删除最后2位
SELECT CAST( tm AS CHAR( 8 ) )
这将只选择时间戳中的前8位数字,并允许您查找重复项
如果您只想知道最后2位是什么
SELECT RIGHT(CAST( tm AS CHAR( 10 ) ), 2)
这将仅从每个时间戳
中选择最后两位数字