Как подсчитать одинаковые имена в mysql и вывести колличество?

397
25 декабря 2016, 22:41

Для примера есть код который выводит последние добавленные оценки.

$limit = $limit ? intval($limit) : "20";
if (!$r_short) {
$sql = $db->query("SELECT * FROM " . PREFIX . "_logs ORDER BY id DESC LIMIT 0,{$limit}");
while ($row = $db->get_row($sql)) { 
    $r_short .= "<div class=\"ratefull\">{$row['member']} <span>оценка {$row['rate']}</span></div>";
}
}
echo $r_short;

Нужно вывести кто и сколько оценок поставил? Т.е нужно подсчитать сколько одинаковых имен в колонке member и отсортировать по убыванию(noname, это гости их считать не нужно).

Например:

admin - 100 оценок

admin2 - 50 оценок

...

Answer 1
$db->query("SELECT member, count(*) as rates 
            FROM " . PREFIX . "_logs 
            WHERE member <> 'noname' 
            GROUP BY member 
            ORDER BY rates"
          );
Answer 2

Используйте GROUP BY

SELECT member,  
       count(member) as cnt, 
       sum(rate) as s_rate 
FROM <tablename>  
WHERE member!='noname' 
GROUP BY member 
ORDER BY cnt;
READ ALSO
Отслеживать посещения по IP

Отслеживать посещения по IP

Как на PHP сделать подсчет посещений по iP? На сайте есть задание, которое можно выполнить не более 5 раз, и нужно чтобы при входе с помощью $_SERVER["REMOTE_ADDR"];...

379
установка sleeping-owl на Laravel

установка sleeping-owl на Laravel

php artisan admin:install Copied Directory [\vendor\sleeping-owl\admin\src\migrations] To [\database\migrations] Copied Directory [\vendor\sleeping-owl\admin\public] To [\public\packages\sleeping-owl\admin] Publishing complete for tag []! [PDOException]...

618
Рекурсия массивов в php

Рекурсия массивов в php

Подскажите, пожалуйста, как работает рекурсия, и как написать такую функцию, чтоб она могла проходить по всему массиву и удалить определённый...

601
Зачем и как разделять код в PHP?

Зачем и как разделять код в PHP?

Наверное вопрос типичный, но типичные ответы я прочитал

363