复杂的MySQL查询

时间:2014-11-29 22:04:19

标签: mysql

我想在MySQL表上执行一个非常复杂的查询。目前,此MySQL表存储用户信息,如 IP,国家/地区, event_id 以及许多其他统计信息,例如date_start date_end用于特定事件

特定的event_id以date_start 开头,当用户结束时正在将time()值写入date_end列。

我想要一个查询以某种方式查找所有suspicous个用户(ids return)。以下是定义可疑用户的规则。

  • 数据库中有来自多个国家/地区的user_id行。 在这种情况下country column具有不同的值

  • 数据库 对于特定的event_id 有很多行 SUM OF(date_end-date_start)例如+50%的值比其他事件的(date-end-date_start)的所有其他 SUM更新。使用简单的单词,查询应该报告已经花费的user_ids在某些事件上花了很多时间,而他们并没有在所有其他事件上花费太多时间。 %百分比值应该是可配置的。

我知道这听起来很疯狂,但是我试图这样做而且我失败了。我是用PHP做的,但速度慢,我确信可以通过查询来完成。

希望你理解我

谢谢

1 个答案:

答案 0 :(得分:0)

这个问题太大了。了解如何查找来自多个国家/地区的用户。然后弄清楚如何获取事件持续时间的统计数据。然后弄清楚如何识别异常值。然后,最后,尝试合并所有三种解决方案。

通常,使用SQL将数据过滤到可管理的大小,然后使用PHP进行任何进一步处理。