1

我有这个跟踪文件下载的小 PHP 脚本,目前我正在使用以下查询获取结果:

SELECT file, COUNT(file) AS downloads 
FROM downloads 
WHERE file LIKE 'pfx_%' 
GROUP BY file
ORDER BY downloads DESC

对于每个新下载,我都会创建一个新行,将文件名保存在一列中。这带回了类似的东西

文件名01 | 1200
文件名02 | 100
文件名03 | 256
...
文件名0x | 932

我现在遇到的问题是某些文件具有 Filename01_1.0 和 Filename01_1.1、Filename01_1.2 等版本

是否可以获取这些版本并将它们计为一个文件名?

我希望这是有道理的:)

4

2 回答 2

3

你可以这样做:

GROUB BY SUBSTRING_INDEX(file, '.', 1)
于 2012-12-20T12:13:28.780 回答
1

SUBSTRING_INDEX()功能是您的朋友:

SELECT SUBSTRING_INDEX(file, '_', 1) as file, COUNT(*) AS downloads 
FROM downloads 
WHERE file LIKE 'pfx_%' 
GROUP BY file
ORDER BY downloads DESC
于 2012-12-20T12:13:12.677 回答