2011-08-10 23 views
1

我有一個MySQL表t1一個文本字段f1。我有這個疑問找到F1 100強最常用的值與它們的頻率一起:MySQL查詢得到最長的文本發生最經常

SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 ORDER BY c DESC LIMIT 100; 

我現在需要的是找出一個查詢什麼是出現最F1的最長值經常。也就是說,我想首先按頻率對錶格中的記錄進行排序(就像上面的查詢一樣),然後我想按照長度排列它們並獲得前100個。我試圖用這個查詢來做這件事,但它不返回我想要的東西,它只是返回與F1的最長值的記錄(大多隻有1次):

SELECT f1, LENGTH(f1) AS l, COUNT(*) AS c FROM t1 GROUP BY f1, LENGTH(f1) ORDER BY l DESC, c DESC LIMIT 100; 

我的表中重要的情況下,有超過44M的記錄。

謝謝。

回答

1

你說你想按頻率和長度排序,但是你要求長度和頻率的順序。顛倒你的ORDER BY條款。