我试图回应表格中最常见的重复项。我已经能够回显重复项的名称,但我正在寻找的是表中的一个单独的列,显示重复发生的次数。有没有一种方法来回显COUNT(*)值?另外一种按大小组织值的方法会很有帮助。
我的php:
$interests = "SELECT name, COUNT(*) FROM pageinterests WHERE pageid = '$id' GROUP BY name HAVING COUNT(*) > 1";
$interestresults = mysqli_query($conn, $interests);
我的HTML:
<div class="panel panel-default panel-table">
<div class="panel-heading">
<div class="row">
<h2 class="cba-title">Interests</h2>
</div>
</div>
<div>
<?php
if(mysqli_num_rows($interestresults) > 0){
$rim = mysqli_num_rows($interestresults);
echo "
<table class = 'table table-striped table-bordered table-list'>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>'";
for($x = 1; $x <= $rim; $x++){
$rat = mysqli_fetch_assoc($interestresults);
echo "<tr>
<td>".$rat['name']."</td>
</tr>";
}
echo '</tbody>
</table>
</center>';
}else{
echo " There doesn't seem to be any common interests yet";
}
?>
</div>
</div>
答案 0 :(得分:4)
使用别名并按顺序排列正确的计数序列
$interests = "SELECT name, COUNT(*) AS my_count
FROM pageinterests
WHERE pageid = '$id'
GROUP BY name HAVING COUNT(*) > 1
ORDER BY my_count";
.......
for($x = 1; $x <= $rim; $x++){
$rat = mysqli_fetch_assoc($interestresults);
echo "<tr>
<td>".$rat['name']."</td>
<td>".$rat['my_count']."</td>
</tr>";
}
答案 1 :(得分:4)
你可以使用这样的别名:
SELECT name, COUNT() as The_Count
FROM pageinterests
WHERE pageid = '$id'
GROUP BY name HAVING COUNT() > 1
ORDER BY The_Count DESC;
答案 2 :(得分:3)
SELECT name, COUNT(*) as mycount FROM ...
答案 3 :(得分:3)
你需要使用count(*)的别名。然后你可以将它用于order和echo。
$interests = "SELECT name, COUNT(*) as count_alias FROM pageinterests WHERE pageid = '$id' GROUP BY name HAVING COUNT(*) > 1 ORDER BY count_alias DESC";