我有一个名为telco
的表,其中包含2列,id(PK)
和telco_prov
。我想计算telco_prov
列中的重复记录,然后显示它出现的次数。
telco
表示例:
id telco_prov
1 Smart
2 Smart
3 Globe
4 Globe
5 Globe
这是我的代码:
$query = "select telco_prov, count(*) c from telco group by telco_prov having c > 1";
$result = mysql_query($query) or die('Error: '.mysql_error ());
$row = mysql_fetch_assoc($result);
echo "SMART: <font color= 'red'>".$row['c']."</font>";
echo "<br>GLOBE: <font color= 'red'>".$row['c']."</font>";
代码没有错误,但它没有正确计数。
上述代码的结果:
SMART: 2
GLOBE: 2
但它应该是:
SMART: 2
GLOBE: 3
我已经尝试在查询中添加where
语句,但它仍然无效。
$query = "select telco_prov, count(*) c from telco where telco_prov = 'Smart' group by telco_prov having c > 1";
非常感谢您的帮助。谢谢!
答案 0 :(得分:2)
你必须循环结果。见下面的代码
$query = "select telco_prov, count(*) c from telco group by telco_prov having c > 1";
$result = mysql_query($query) or die('Error: '.mysql_error ());
while($row = $mysql_fetch_assoc($result)) {
echo $row['telco_prov'].": <font color= 'red'>".$row['c']."</font>";
}
答案 1 :(得分:0)
尝试
while($row = mysql_fetch_assoc($result)){
echo strtoupper($row['telco_prov']).": <font color= 'red'>".$row['c']."</font>";
}
您编写的代码仅提供第一行。 要获取所有记录,您需要循环记录
答案 2 :(得分:0)
错误在这里
echo "SMART: <font color= 'red'>".$row['c']."</font>";
echo "<br>GLOBE: <font color= 'red'>".$row['c']."</font>";
此代码将回显所有telco_prov及其计数
while ($row = mysql_fetch_assoc($result)) {
echo '"'.$row['telco_prod'].'"':<font color="red">'.$row['c'].'</font>';
}