我需要一个查询来获取文件的下载次数。表是这样的
fid uid ip
21 0 111.111.111.11
21 0 222.222.222.22
21 0 111.111.111.11
21 1 333.333.333.33
21 1 111.111.111.11
21 1 444.444.444.44
21 2 555.555.555.55
22 0 111.111.111.11
uid 是用户 id,如果它是 0,则用户是匿名的。查询应计算 fid 为 21 的行数,但如果用户是匿名的,则具有不同的 ips 值,如果用户是注册的,则具有不同的用户和 ips 值。(如果用户下载文件,注销,然后以匿名身份再次下载,则查询应将此计为 1 次下载)
在这个例子中,查询应该像这样计算
fid uid ip
21 0 111.111.111.11
21 0 222.222.222.22
21 1 333.333.333.33
21 2 555.555.555.55
结果应该是4。
任何帮助深表感谢。
编辑:我删除了一些描述,因为它令人困惑。感谢所有评论和可能的解决方案。