Heckfy Опубликовано 20 Декабря 2005 Жалоба Поделиться Опубликовано 20 Декабря 2005 запрос:SELECT id, name, color, stat_time, stat_year, stat_count, visits_count FROM ibf_members ORDER BY stat_count DESC LIMIT 0, 5 выводит всех активных пользователей, НО.Дело в том что есть еще активные и по кол-ву входов в систему, за это отвечает visits_count.Хочу сделать так, чтобы находил активных по stat_count, а затем по visits_count.Сразу сообщу, что так: ..... ORDER BY stat_count, visits_count DESC LIMIT 0, 5 не получается.В первом примере берется активный по stat_count, т.е. у которого больше цифра.Например USER----- stat_count ----- visits_countuser1---------57--------------- 453юзер2--------45------------- 376user3---------45 -------------- 762user4----------9 -------------- 66user5----------3-------------- 78 по примеру видно, что юзер2 по stat_count стоит на равных с user3, но user3 больше входов по visits_count чем у юзер2.Получается сортируется еще и по алфовиту...Как это избежать и сделать так, чтобы юзер2 стоял(русский ник) ниже user3, т.е. чтобы проверка была еще и на visits_count.Думаю понятно описал, яснее некуда..) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 20 Декабря 2005 Жалоба Поделиться Опубликовано 20 Декабря 2005 Тестить было не начём - не ругать сильно Есть таблица rpg_settings-------------+------------------+ ---rpg_name--+--register_rules--+ ------1------+--------1---------+ ------2------+--------1---------+ ------2------+--------5---------+ ------3------+--------1---------+ ------4------+--------1---------+ Такой запрос:select rpg_name, register_rules from rpg_settings order by rpg_name desc, register_rules descВыдаёт следущее: -------------+------------------+ ---rpg_name--+--register_rules--+ ------4------+--------1---------+ ------3------+--------1---------+ ------2------+--------5---------+ ------2------+--------1---------+ ------1------+--------1---------+ Это то, что вам нужно? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 20 Декабря 2005 Жалоба Поделиться Опубликовано 20 Декабря 2005 (изменено) 2Heckfy visits_count какого типа ? Изменено 20 Декабря 2005 пользователем Song Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Heckfy Опубликовано 21 Декабря 2005 Автор Жалоба Поделиться Опубликовано 21 Декабря 2005 Destructionrpg_name desc, register_rules descтак еще не пробовал, видимо да, надо будет простестировать)надо еще заметить, что русский текст всегда выше, хоть у него visits_count меньше по сравнению с другим.. Songvisits_count INT UNSIGNED NOT NULLоба значения одного типа INT. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Декабря 2005 Жалоба Поделиться Опубликовано 21 Декабря 2005 У меня вопрос.Вот этот листинг: USER----- stat_count ----- visits_countuser1---------57--------------- 453юзер2--------45------------- 376user3---------45 -------------- 762user4----------9 -------------- 66user5----------3-------------- 78 соответствует запросу с ..... ORDER BY stat_count, visits_count DESC LIMIT 0, 5? Потому что вроде как нет. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Heckfy Опубликовано 21 Декабря 2005 Автор Жалоба Поделиться Опубликовано 21 Декабря 2005 не соответствует.листинг создается таким запросом:ORDER BY stat_count DESC LIMIT 0, 5когда при таком запросеORDER BY stat_count, visits_count DESC LIMIT 0, 5все идет в разброс и я не могу понять, как он их сортирует.знаю точно, не так, как мне надо. выяснилось еще, что сортируется не по нику, а по ID пользователя, чем они ниже, тем выше стоит в рейтинге. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 22 Декабря 2005 Жалоба Поделиться Опубликовано 22 Декабря 2005 да млин да что ж мы гадаем ? выложи листинг по запросу "ORDER BY stat_count, visits_count DESC LIMIT 0, 5", тогда глядя на него можно и догадки строить, ато непонятно кого ты мучаешься, себя или нас ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Felix Опубликовано 23 Декабря 2005 Жалоба Поделиться Опубликовано 23 Декабря 2005 (изменено) А как выбрать пользователей, имеющих одинаковые IP-адреса, например так:[user] [ip]12334 10.14.2.112332 10.14.2.1Причем чтобы они отбирались отдельно от других, т.е. только пользователи с одинаковыми IP.Вложенные запросы как всегда в php скриптах не работают, пока додумался до примитивного варианта выбирать юзеров по одинаковому IP, показывая последний зарегенный ник...require_once ('inc/config.php'); mysql_connect("$host", "$user", "$password") or die("Could not connect to MySQL Server"); mysql_select_db("$db") or die("Could not select database"); $sql = "SELECT ip_address, name, id FROM $members GROUP BY ip_address HAVING count(*)>1"; $result = mysql_query($sql) or die("Could not execute the query"); $rows = mysql_num_rows($result); if ((!$rows) || ($rows < 1)) { echo "Nothing found"; } else { echo '<table border="1" cellspacing="0" cellpadding="0" bordercolor="#993399" align="left"><tr> <td width="70">ID</td> <td width="110">Name</td> <td width="100">IP</td></tr>'; while($row = mysql_fetch_array($result)) { $id = $row["id"]; $name = $row["name"]; $ip = $row["ip_address"]; echo "<tr> <td width=\"70\">$id</td> <td width=\"110\">$name</td> <td width=\"100\">$ip</td> </tr>"; } } А вот такого вида в php не работает..SELECT ip_address, id, name FROM $table WHERE ip_address = ANY (SELECT ip_address FROM $table GROUP BY ip_address HAVING count(*)>1); Изменено 23 Декабря 2005 пользователем Felix Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 Вложенные запросы не работают в MySQL. Если хотите всех пользователей под данным IP, то в вашем while добавьте второй запросSELECT ip_address, id, name FROM $table WHERE ip_address = $row["ip_address"] вот собственно так это все и решается пока. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 SELECT ip, count(ip) as tt FROM Tbl GROUP BY ip HAVING tt > 1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 Миша, а что нам это даст? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 повторящиеся IP Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 А нам нужны ники всех кто имеют эти повторяющиеся ип. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Destruction Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 Двойной запрос? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 нет в MySQL до 5-ой версии вложенных запросов. С пятой мне счастья поработать не представилось, так что про нее ничего сказать не могу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 29 Декабря 2005 Жалоба Поделиться Опубликовано 29 Декабря 2005 нет в MySQL до 5-ой версии вложенных запросов.Поправка. До 4.1. В 5 уже триггера и хранимые процедуры обещают. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 30 Декабря 2005 Жалоба Поделиться Опубликовано 30 Декабря 2005 А нам нужны ники всех кто имеют эти повторяющиеся ип.ну дык можно и ники.Вот тока что попробовал у себя на форуме:SELECT author_name, ip_address, COUNT(ip_address) as tt FROM ibf_posts GROUP BY ip_address HAVING tt > 1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 30 Декабря 2005 Жалоба Поделиться Опубликовано 30 Декабря 2005 И там будут все ники или тоьлко один? Сдается мне что только один... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 31 Декабря 2005 Жалоба Поделиться Опубликовано 31 Декабря 2005 >> И там будут все ники или тоьлко один?Все. Ник ------ IP ----- кол-во_повторений ну попробуй над своей базой, чего так просто усомнивляться? ) Такой запрос нельзя в Оракле исполнить, в мускуле пожалуйста. Хотя ты знаешь.. если будут два ника из-под одного IP, то они наверна сольются =)Надо сделать GROUP BY ip_address, author_id Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.