由于未正确编写查询,我的 mysql 服务器出现问题。我没有使用索引,因为我不知道如何在具有SELECT COUNT(*) AS b ... ORDER BY b
.
看起来不可能,所以如果确实不可能,我如何重新管理我的查询?
SELECT COUNT(downloaded.id) AS downloaded_count
, downloaded.file_name
,uploaded.*
FROM `downloaded` JOIN uploaded
ON downloaded.file_name = uploaded.file_name
WHERE downloaded.completed = 1
AND uploaded.active = 1
AND uploaded.nsfw = 0
AND downloaded.datetime > DATE_SUB(NOW(), INTERVAL 7 DAY)
GROUP BY downloaded.file_name
ORDER BY downloaded_count DESC LIMIT 30;
Run Code Online (Sandbox Code Playgroud)
解释
+----+-------------+------------+------+---------------+-----------+---------+--------------------------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+------+---------------+-----------+---------+--------------------------+------+----------------------------------------------+ …
Run Code Online (Sandbox Code Playgroud)