Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

22.12.2009, 10:32
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
запрос правильный, только что у себя проверил, должен работать. В чем ошибка проявляется?
|
|
|

22.12.2009, 13:22
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Pashkela, запрос правильный, но он сортирует по большему рейтингу, 20 позиций, а потом полученное подсортировывает по стране.
То есть если есть 2 позиции
p1 с рейтингом 30 страна Англия
p2 срейтингом 40 страна Белорусь
этот запрос отсортирует так:
p2
p1
так как рейт больше. Но у p2 страна на букву "Б" и следовательно если я сортирую полученное по стране, то на букву "А" должно идти первым.
Нужно отобрать из базы 20 позиций с наибольшим рейтингом и отсортировать по стране сторого.
Я так понял нужно 2 запроса делать?
Спасибо!
|
|
|

22.12.2009, 13:36
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
так как рейт больше. Но у p2 страна на букву "Б" и следовательно если я сортирую полученное по стране, то на букву "А" должно идти первым.
тогда вопрос неправильно стоит, просто поменяй местами ORDER BY `rating` DESC, `country` ASC тут, т.е. первым должно идти `country` ASC, если тебе алфавит страны важнее
PS: Если опять не то, то да, два запроса тогда наверное, одновременно и рейтинг наибольший и сортировка так, как тебе надо - вряд ли
Последний раз редактировалось Pashkela; 22.12.2009 в 13:39..
|
|
|

22.12.2009, 14:04
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
Узнаёш 1-м запросом рейт 20-го и потом выводиш по алфавиту всех у кого рейт >= полученного...
|
|
|

22.12.2009, 19:15
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Сообщение от Gray_Wolf
Узнаёш 1-м запросом рейт 20-го и потом выводиш по алфавиту всех у кого рейт >= полученного...
Пробывал вот так извратиться них не вышло
Код:
$result = mysql_query("SELECT * FROM (mysql_query("SELECT * FROM `base_` WHERE `show`='1' ORDER BY `rating` DESC LIMIT 0, 20")) WHERE `show`='1' ORDER BY `country` ASC");
Помогите 
|
|
|

22.12.2009, 19:41
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
короче уже голову сломал, чо те надо  Попробуй так:
select * from (select * from `base_` where `show`='1' ORDER BY `rating` DESC LIMIT 0, 20) as a ORDER BY `country` ASC
PS: Ибо второй раз писать where и limit смысла конечно нет
Последний раз редактировалось Pashkela; 22.12.2009 в 19:50..
|
|
|

22.12.2009, 20:23
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Сообщение от Pashkela
короче уже голову сломал, чо те надо  Попробуй так:
select * from (select * from `base_` where `show`='1' ORDER BY `rating` DESC LIMIT 0, 20) as a ORDER BY `country` ASC
PS: Ибо второй раз писать where и limit смысла конечно нет
Спс, почти оно  Но вот СКРИН, как то Страну коряво сортирнуло 
|
|
|

22.12.2009, 20:35
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
покажи запрос на пыхе, плз
|
|
|

22.12.2009, 22:17
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
PHP код:
if($so==3){$result = mysql_query("select * from (select * from `base_` where `show`='1' ORDER BY `rating` DESC LIMIT 0, 20) as a ORDER BY `country` ASC");}

|
|
|

25.12.2009, 13:15
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
HELP ME! PLEEEEEASE!
UP! Помогите плиз, ничего не выходит.
Сообщение от mff
Помогите с запросом, нужно из базы выбрать 20 строчек с наибольшим рейтингом и полученное отсортировать по стане:
Побывал так:
$result = mysql_query("SELECT * FROM `base` WHERE `show`='1' ORDER BY `rating` DESC, `country` ASC LIMIT 0, 20");
не получилось 

|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|