这个问题与以下内容完全相同:
要创建排名,我想计算,然后在字符串中显示重复的条目
<?php
$orgasql = "SELECT organisateur FROM events ";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'];
}
$eventimploded = implode(',',$eventorgaas);
$eventimploded = implode(',',array_unique(explode(',', $eventimploded)));
echo $eventimploded
?>
当前代码返回此结果:
Holyblood,Nessy,Pokégaia,Sorrow,JOHN
我希望结果如下:
Holyblood - 2 ,Nessy - 1,Pokégaia - 1,Sorrow -1,JOHN -1
(我的数据库中有两个“圣血”出现,array_unique删除重复)
由organisateur
组成他们并计算他们的出现:
<?php
$orgasql = "SELECT organisateur, COUNT(*) as count FROM events GROUP BY organisateur";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'] . '-' . $eventrow['count'] ;
}
$eventimploded = implode(',',$eventorgaas);
echo $eventimploded
?>
你可以用sql做到这一点
select organisateur, count(*) my_count
from events
group by organisateur
要么
select concat(organisateur, ' - ' , count(*)) my_result
from events
group by organisateur