我看到许多类似的问题,但它们要么太复杂,我无法理解,要么它们似乎问的不是同一件事.
很简单:我有两个专栏:用户(dmid)和下载(dfid).
-
Select 下载特定文件的所有用户:
SELECT DISTINCT dmid FROM downloads_downloads where dfid = "7024"
-
使用上面的用户,查找他们下载的所有文件:
SELECT dfid from downloads_downloads WHERE dmid = {user ids from #1 above}
-
对dfid结果进行计数和排序,这样我们就可以看到每个文件收到了多少下载:
dfid dl_count_field ---- -------------- 18 103 3 77 903 66
My attempt at answering.
这似乎很接近,但MySql陷入困境,甚至在30秒后也没有响应——我最终重新启动了Apache.我现在不知道如何构造count和order by,而不会因为复杂的语句而出现语法错误,而且它甚至可能不是正确的语句.
SELECT dfid from downloads_downloads WHERE dmid IN (
SELECT DISTINCT dmid FROM `downloads_downloads` where dfid = "7024")