我有这个跟踪文件下载的小脚本,目前我正在使用此查询获取结果:
SELECT file, COUNT(file) AS downloads
FROM downloads
WHERE file LIKE 'pfx_%'
GROUP BY file
ORDER BY downloads DESC
对于每次新下载,我都会创建一个新行,我将文件名保存在一列中。 这带回了像
这样的东西Filename01 | 1200 Filename02 | 100 Filename03 | 256 ... Filename0x | 932
我现在遇到的问题是某些文件有Filename01_1.0和Filename01_1.1,Filename01_1.2等版本
是否可以获取这些版本并将它们计为一个文件名?
我希望它有道理:)
答案 0 :(得分:3)
你可以这样做:
GROUB BY SUBSTRING_INDEX(file, '.', 1)
答案 1 :(得分:1)
SUBSTRING_INDEX()
function是你的朋友:
SELECT SUBSTRING_INDEX(file, '_', 1) as file, COUNT(*) AS downloads
FROM downloads
WHERE file LIKE 'pfx_%'
GROUP BY file
ORDER BY downloads DESC