Mysql 计数一个项目的“次数”;“重新记录”;

Mysql 计数一个项目的“次数”;“重新记录”;,mysql,sql,Mysql,Sql,如果有人能建议一个更好的标题后,阅读这篇文章,将有助于其他类似的问题,我会修改它 我试图在我的网站上统计替代性的重新登录数量,目前只统计有机物 e、 g USER1上传一个图像, USER2重新记录图像 现在,它在USER1的图像页面上将reblog计数显示为“1” 问题就在这里 如果另一个用户(例如USER3)重新记录USER2的映像。原始上载程序上的计数保持为1。尽管USER1的映像被共享了两次。它只计算有机再博客 因此,人们可以利用不太受欢迎的用户上传受欢迎的图片并获得所有荣誉 以下是SQ

如果有人能建议一个更好的标题后,阅读这篇文章,将有助于其他类似的问题,我会修改它

我试图在我的网站上统计替代性的重新登录数量,目前只统计有机物

e、 g

USER1上传一个图像, USER2重新记录图像

现在,它在USER1的图像页面上将reblog计数显示为“1”

问题就在这里

如果另一个用户(例如USER3)重新记录USER2的映像。原始上载程序上的计数保持为1。尽管USER1的映像被共享了两次。它只计算有机再博客

因此,人们可以利用不太受欢迎的用户上传受欢迎的图片并获得所有荣誉

以下是SQL详细信息:

当图像被“重新记录”时,它会自动将以下详细信息添加到名为
reblog
的表中:

id
repin\u user\u id
owner\u user\u id
from\u pin\u id
new\u pin\u id

使用上面的示例,
repin_user_id
将是USER2<代码>所有者\用户\ id将是USER1
from_pin_id
将是USER2重新记录图像的页面,
new_pin_id
将是USER2重新记录图像的页面

我有没有办法计算出某一特定图像的替代重播?
reblog
表中还有一个
timestamp
列。

答案在于数据库设计和处理数据的方式。您将需要一个项目表。它将包含项目id、创建时间、创建人等字段

然后,当我是第一个提交该项目的人时,它会得到一个项目id。为了得到一个值,我们给它一个-47。一条记录进入item表,我的博客数据将显示item_id为47。请注意,如果一个博客可以包含多个项目,则需要建立多对多关系

接下来,当Bloggins重新记录我的项目时,他的博客数据也将显示项目_id=47。而且,当Buddy重新记录Bloggins的项目时,他的数据将显示项目_id=47

最后,要计算重新日志的数量,只需对

 select count(*) -1 reblogs
 from where_ever
 where item_id = 47

人们难道不能通过下载图像、重命名然后再次上传来绕过其他方法吗?是的,他们可以做到这一点,没有什么可以阻止他们,但我鼓励用户彼此分享并报告被盗图像——通过比较数据库中的时间戳可以确认这些指控。我只奖励使用积分系统互相分享的用户,他们可以使用积分系统在网站上获取新功能。