0

我有两个具有以下架构的表

files
------
id
name

第二张桌子

permission
-----------
id
file_id
downloads
code

现在我需要从下载表中选择前五个下载的文件,注意file_id由于下载代码,a 可能会出现多次code

这就是我所拥有的

Select
  files.name,
  permission.downloads
From
  files Inner Join
  permission On permission.file_id = files.id
Order By
  permission.downloads Desc
Limit 5

我根据需要选择前五个,但重复文件名,无论如何我可以汇总每个文件的下载计数,因此不会重复文件名

4

1 回答 1

1

你必须使用 group by

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
于 2013-08-11T21:08:22.903 回答