计算#of次项目是“已”

时间:2013-10-18 15:47:50

标签: mysql sql

如果有人在阅读之后可以为这个帖子建议一个更好的标题,这将有助于其他类似问题,我会修改它。

我正在尝试计算我网站上的替代登录号码,目前这些号码只统计有机物。

e.g。

USER1上传图片, USER2重新登录图像

它现在在USER1的图像页面上显示重新登录计数为“1”。

这就是问题所在。

如果另一个用户,例如USER3,则重新登录USER2的图像。原始上传者的计数仍为1.尽管USER1的图像被共享两次。它只计算有机重新登录。

因此,人们可以利用不那么受欢迎的用户来上传热门图片并获得所有功劳。

以下是SQL详细信息:

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

id repin_user_id owner_user_id from_pin_id new_pin_id

使用上面的示例,repin_user_id将是USER2。 owner_user_id将是USER1。 from_pin_id将是USER2从中发送图像的页面,而new_pin_id将是USER2的图像出现的新页面。

有什么方法可以算出特定图像的替代性重新登录? timestamp表中还有一个reblog列。

1 个答案:

答案 0 :(得分:2)

答案在于您的数据库设计和处理数据的方式。您将需要一个项目表。它将包含诸如item_id,created_when,create_by等字段

然后,当我是第一个提交该项目的人时,它会获得一个item_id。为了一个值,让我们给它一个 - 47.记录进入项目表,我的博客数据将显示item_id为47.请注意,如果博客可以有多个项目,您将需要设置多对多的关系。

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

最后要计算reblog的数量,这是一个简单的

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