2011-07-11 75 views
1

我在MySql中有一個關鍵字列表。一旦用戶在本網站上輸入了關鍵字,每個關鍵字都會存儲在一個新行中。用PHP計算MySQL中相同行的數量

我在PHP以下查詢:

SELECT * FROM keywords GROUP BY query 

它得到的所有關鍵字從MySQL,並只顯示每個櫃面重復的關鍵字之一。所以輸出是一樣的東西:

Dog 
Cat 
Lion 
Fong 

當我使用$update['query'];

但我想計算每個關鍵字多少次出現在數據庫中,所以輸出會是這樣,例如:

Dog (2) 
Cat (3) 
Lion (1) 
Fong (1) 

而且我想弄清楚的SQL查詢應該是什麼,以及如何使用PHP來打印。

+0

在這一刻我很樂意與簡單的解決方案,但如果你感到創意我很想學習如何使用/做到這一點而不區分大小寫。 –

回答

3

嘗試此查詢:

SELECT query, COUNT(1) AS rpt_count FROM keywords GROUP BY query 

,並在PHP中,你會使用$update['query']$update['rpt_count']

+0

是的,這似乎工作:)謝謝大家! –

1
SELECT *, count(*) as cnt FROM keywords GROUP BY query 
+0

或者,使用'COUNT(*)AS count' – Ryan

+0

@Ryan - 是一個別名應該在那裏。更新。 –

1

使用SELECT *, COUNT(*) AS cnt FROM keywords GROUP BY query訪問列。

1
SELECT *, count(1) FROM keywords GROUP BY query 
1
SELECT query, COUNT(query) FROM keywords GROUP BY query 
1
SELECT keyword, COUNT(*) FROM keywords GROUP BY keyword;