$b_bayiler = $sql->query("SELECT id,bayi_kodu,site_adresi,islem_durumu FROM odeme_kayitlari WHERE islem_durumu = 2 GROUP BY bayi_kodu");

sıralamayı buradaki şekle göre sıralıyor.

array ile alıp rshort ile yapmayı denedim
<?php
$b_bayiler     =  $sql->query("SELECT id,bayi_kodu,site_adresi,islem_durumu FROM odeme_kayitlari WHERE islem_durumu = 2 GROUP BY bayi_kodu");
 
while($b_fetch =  $b_bayiler->fetch(PDO::FETCH_OBJ)){
                               
$b_cnt      =  $sql->query("SELECT id,bayi_kodu,site_adresi, COUNT(id) as total FROM odeme_kayitlari WHERE bayi_kodu = '".$b_fetch->bayi_kodu."' and islem_durumu = 2 ORDER BY total DESC");    
$b_cntrw =  $b_cnt->fetch(PDO::FETCH_OBJ);
$veriler[$b_cntrw->total]=array('bayi_kodu'=>$b_cntrw->bayi_kodu,'site_adresi'=>$b_cntrw->site_adresi,'total'=>$b_cntrw->total);                            
 
}
$veriler=rsort($veriler);
foreach($veriler as $veri):

echo '<span style="float:left;width:100px;">'.$veri['bayi_kodu'].'</span> <span style="float:left;width:250px;">('.$veri['v'].') </span> <span style="float:left;width:60px;">'.$veri['total'].' </span> <span>Adet</span><br />';
endforeach;
.