2014-03-03 44 views
0

存在假设我有一个包含一个名为列POST_ID一个表,它有一个像计数数字总在数据库

1 
1 
1 
2 
2 
3 
1 
1 

我经历了所有的记录要循环和计数结果有多少次,他们存在。我所能想到的是

通过while循环

如果(导致[] = 1){$ 1 ++},但问题是记录的值是不固定的,也可以是9999 ..

我试过

while ($something= $item->fetch_array()) { 
    while($test[] = $something['post_id'] > 0){ 
//logic here 
} 
} 
+0

可能重复(http://stackoverflow.com/questions/3935078/mysql-count-duplicates) – 2014-03-03 01:42:00

回答

1
select post_id, count(*) 
from table 
group by post_id 
1

这是你可以在SQL做。我相信这将是以下几点:

SELECT post_id, COUNT(*) FROM tablename GROUP BY post_id; 

这将返回,在表中的每个POST_ID,即POST_ID并与POST_ID的行数。

+0

怎么办回声? – user3346088

+0

我不明白你的问题。您将从该查询中获取两列,第一列是post_id,第二列是具有该ID的行数。您可以使用fetch_array,然后访问$ arr [0]或$ arr [1]。 – OSborn

0

你试试这个。 假设:

表一个

**Table one**
Column1 
1 
1 
1 
2 
2 
3 
1 
1 

您可以使用此查询来算吧。

SELECT one.column1, COUNT(two.column1) FROM one as one, one as two;
[MySQL的计数重复]的