Сделать order by count(*) - MySQL
Формулировка задачи:
Привет) В общем, запутался в трёх соснах. Куча ответов в гугле, но реально что-то ни один не работает..(
Есть таблица: Но так не получается.. Как сделать правильно? В чём ошибка?
логин
иid_ref_user
(id того, кто привёл на сайт (рефовода)) В итоге, нужно посчитать, сколько у каждого человека своих рефералов. Уже вариантов 15 перебрал, например так:$link = mysql_connect($host,$user,$pass); mysql_select_db($db,$link); $result = mysql_query(" SELECT count(id_ref_user) as w, login FROM user WHERE id_ref_user !='0' //исключаем тех, кто сам пришёл GROUP BY login ORDER BY w "); while ($row = mysql_fetch_array($result)) { echo $row['login'] . '=>' . $row['w'] . "<br />"; }
Решение задачи: «Сделать order by count(*)»
textual
Листинг программы
$result = mysql_query("SELECT COUNT(id_ref_user) AS total, login, id_user FROM user WHERE id_ref_user !='0' GROUP BY id_ref_user ORDER BY id_user", $link); while($row = mysql_fetch_array($result)) { echo $row['login'] . ' => ' . $row['total'] . "<br />"; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д