我有两个包含以下架构的表
files
------
id
name
第二个表
permission
-----------
id
file_id
downloads
code
现在我需要从下载表中选择前五个下载的文件,并注意由于下载代码file_id
code
可能会多次出现
这就是我所拥有的
Select
files.name,
permission.downloads
From
files Inner Join
permission On permission.file_id = files.id
Order By
permission.downloads Desc
Limit 5
我根据需要选择前五名,但重复文件名,无论如何,我可以总结每个文件的下载次数,因此不会重复文件名
答案 0 :(得分:1)
你必须使用分组
select
f.name,
sum(p.downloads) as downloads
from files as f
inner join permission as p on p.file_id = f.id
group by f.name
order By sum(p.downloads) desc
limit 5