我想向一些不断抓取我内容的ip显示过滤结果。我用.htaccess阻止了他们,他们改变了他们的IP地址并继续这样做。所以我想,我想创建一个软块,不会向我们展示我的所有内容,希望他们甚至不会注意到。
我的表有一个auto_increment字段
id | category | everything else
1 1
2 1
3 4
4 2
我一直在尝试这样的事情。
SELECT * from mytable WHERE `category` = '1' having avg(id/3) = 1 ORDER BY `id` DESC LIMIT 0 , 10
我已经永远搜索了但是我是sql的新手,所以我甚至不知道我在寻找什么。我希望有人能帮助我!谢谢:))
答案 0 :(得分:2)
如果你想将除法的余数除以3,你应该使用%operator。
SELECT * from mytable WHERE `category` = '1' and id % 3 = 1 ORDER BY `id`
DESC LIMIT 0 , 10
答案 1 :(得分:0)
通常,ID列不用于对其进行计算。除了记录的唯一标识符之外,它不代表任何其他内容(最多应该用于按时间顺序对记录进行排序) - 例如,您可以拥有GUID,并且您的应用程序应该可以正常工作。
如果要存储要在数据库中阻止的IP,请考虑在表中添加另一列,将其称为status
或类似的类,并在此列中存储该IP的状态 - 这状态可能是干净,可疑,已阻止等。之后,SELECT
应仅在具有阻止状态的行