2010-12-03 30 views
2

我想要做的是(希望)簡單,但我只是沒有正確的語法。我想要返回表中的所有不同值,並計算每個值的記錄數。如何返回不同的值和他們的計數?

因此,在PHP中,我有:

$result = mysql_query("SELECT DISTINCT tagName FROM tagTable"); 
while($row = mysql_fetch_array($result)){ 
    echo("<p>" . $row['tagName']) . "</p>"); 
} 

這種運作良好。不同的值被返回!但是現在我怎樣才能讓每個不同的值顯示呢?我想要的東西的影響:

echo("<p>" . $row['tagName']) . $tagCountGoesHere . "</p>"); 

回答

8

你應該能夠得到,使用GROUP BY子句:

SELECT tagName, count(tagName) AS tagCount FROM tagTable GROUP BY tagName 
2
SELECT tagName, count(*) as TagCount 
FROM tagTable 
group by tagname 
+0

豈不是更好地反引號轉義`計數`爲了避免由於MySQL函數名不區分大小寫而導致混淆? – redShadow 2010-12-03 17:23:23

+0

@redShadow:你可以正確使用,我不使用MySQL;我將重命名 – RedFilter 2010-12-03 17:38:55

1
SELECT DISTINCT tagName, COUNT(*) FROM tagTable GROUP BY tagName 
+1

使用GROUP BY子句時,不需要DISTINCT。 – 2010-12-03 17:19:03

相關問題