我正在查询记录来自热门社区网站软件的文件下载的表格。下面的SQL显示了每个用户下载的第一个文件。
SELECT
dfid, dtime, file_name, MIN(dmid)
FROM
downloads_downloads
JOIN downloads_files
ON downloads_downloads.dfid = downloads_files.file_id
GROUP BY
dmid
ORDER BY
dtime,dfid
此查询中的数据包含数千行,如:
dfid dtime file_name MIN(dmid)
3 1308147507 abc 108
455 1308149115 def 109
788 1308156732 ghi 113
7 1308156830 xyz 112
455 1308158073 def 114
我可以计算file_name的每个唯一实例来显示每个file_name值出现的次数吗?关于确切布局无关紧要。如果可能的话,我想在不创建表格并将数据插入其中的情况下执行此操作。例如,在上面的数据中,file_name“def”出现两次,因此会被计算两次。
答案 0 :(得分:5)
您只需要执行以下操作:
SELECT file_name, COUNT(*) FROM downloads_downloads GROUP BY file_name;