Я вижу много похожих вопросов, но они либо настолько сложны, что я не могу их понять, либо они, похоже, не спрашивают одно и то же.
Это просто: у меня есть два столбца: пользователи (dmid) и загрузки (dfid).
-
Выберите всех пользователей, которые скачали определенный файл:
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
Моя попытка ответить.
Это кажется близким, но MySql боится и не реагирует даже через 30 секунд - я, в конце концов, перезапускаю Apache. И я не сейчас, как структурировать счет и порядок, не получая синтаксических ошибок из-за сложного оператора - и он может даже не быть правильным утверждением.
SELECT dfid from downloads_downloads WHERE dmid IN (
SELECT DISTINCT dmid FROM `downloads_downloads` where dfid = "7024")