MySQL根据Unix/Epoch时间的最后两位数删除条目
我有一个有三列的表:MySQL根据Unix/Epoch时间的最后两位数删除条目,mysql,Mysql,我有一个有三列的表: `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 我只
`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/epoch时间的最后两位数字,并根据这两位数字加上IP删除除一位以外的所有数字
非常感谢您的帮助。您可以在mysql中使用
CAST
删除最后2位数字
SELECT CAST( tm AS CHAR( 8 ) )
这将仅从时间戳中选择前8位数字,并允许您查找重复的数字
如果你只想知道最后两位数字是什么
SELECT RIGHT(CAST( tm AS CHAR( 10 ) ), 2)
这将仅从每个时间戳中选择最后两位数字您可以在mysql中使用
CAST
删除最后两位数字
SELECT CAST( tm AS CHAR( 8 ) )
这将仅从时间戳中选择前8位数字,并允许您查找重复的数字
如果你只想知道最后两位数字是什么
SELECT RIGHT(CAST( tm AS CHAR( 10 ) ), 2)
这将仅从每个时间戳中选择最后两位数字有趣的是,我将查看CAST并让您知道,谢谢。我将查看CAST并让您知道,谢谢