2012-12-20 21 views
1

我有一個跟蹤文件的下載和目前我獲取與此查詢結果這個小PHP腳本:MySQL查詢 - 不能換我的頭周圍

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等

是否有可能獲取這些版本和計數他們作爲一個文件名?

我希望這是有道理的:)

回答

3

你可以做這樣的:

GROUB BY SUBSTRING_INDEX(file, '.', 1) 
+1

'SELECT SUBSTRING_INDEX(文件, '_',1 )AS文件,COUNT(*)AS下載FROM下載GROUP BY 1 ORDER BY下載DESC' –

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