Сделать 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 />";
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д