這可以使用MySQL的string manipulation methods來完成。使用這些,您可以創建一個查詢,從您的表格行中獲取所有「單詞」。 但是,在MySQL中分割字符串並不是一個小問題。可悲的是,MySQL沒有拆分或爆炸的方法。 閱讀關於here。
如果您使用該查詢作爲子查詢,則可以使用order by和MySQL的字符串長度方法來獲取有序的單詞列表及其出現次數。
您的替代方案是迭代所有MySQL結果,用您找到的詞語填充本地PHP數組並保持計數。見這個例子:
<?php
// connect to db and so fort
...
$wordCounterArray = array();
while(($row = mysqlfetch_assoc($mysqlHandle) !== false) {
$words = explode(' ',$row['Title']);
foreach ($words as $word) {
if(array_key_exists($word, $wordCounterArray) {
$wordCounterArray[$word]++;
}
else {
$wordCounterArray[$word] = 1;
}
}
}
現在你仍然有它的價值,以這個數組排序,但我猜你會弄清楚怎麼做,自己與谷歌和右側的PHP在線文檔?
是的。規範化你的數據 –
我認爲這種規範化程度並不合適。沒有必要僅使用MySQL解決所有問題。 – Strawberry
@DarrenSweeney考慮接受兩個答案之一或要求進一步的細節。這樣可以防止這個問題得到更多的關注,並且對那些花時間幫助你的人表現出至少一些讚賞。 –