Разъясню:
------------
id | score
------------
1 | 23
2 | 51
3 | 37
4 | 84
------------
К примеру нужно сортировать (по score) по убыванию строки в которых id = 2 и 4.
При том что ныжные id`ы указываються.
В моем случае должно вывести:
------------
id | score
------------
4 | 84
2 | 51
------------
<- По убыванию.
И еще вопрос... На сколько такая сортировка будет грузить сервер? Т.е. на сколько она вообще экономна, если так можно сказать.
Спасибо зарание.
MySql.
Спустя 13 минут, 56 секунд (21.11.2010 - 10:34) Lenarfate написал(а):
читай про DESC и ASC
Спустя 54 минуты, 36 секунд (21.11.2010 - 11:29) deman455 написал(а):
Не в том дело.
mysql_query("SELECT score FROM users ORDER BY id DESC");
А как мне указать какие именно ID мне надо сортировать, что бы не сортировало всех.
mysql_query("SELECT score FROM users ORDER BY id DESC");
А как мне указать какие именно ID мне надо сортировать, что бы не сортировало всех.
Спустя 10 минут, 57 секунд (21.11.2010 - 11:40) DySprozin написал(а):
{исправлено}
точнее, так:
mysql_query("SELECT score FROM users WHERE id='2' OR id='4' ORDER BY id DESC");
точнее, так:
mysql_query("SELECT score FROM users WHERE id='2' OR id='4' ORDER BY id DESC");
Спустя 2 минуты, 25 секунд (21.11.2010 - 11:42) deman455 написал(а):
Да, только неизвестно сколько таких ID может быть, их может быть 2 может быть 100. Все IDs вписаны в массив...
Спустя 5 минут, 44 секунды (21.11.2010 - 11:48) DySprozin написал(а):
эх... мог бы и сам догадаться (; ну хорошо, помогу:
...
$mas; //массив с id
...
$zapr=""; //будущий sql запрос
foreach($mas as $key => $value){
if($key<count($mas)-1) $zapr.="id='$value' OR ";
else $zapr.=" id='$value'";
}
$q=mysql_query("SELECT score FROM users WHERE $zapr ORDER BY id DESC");
...
Спустя 8 минут, 2 секунды (21.11.2010 - 11:56) job-nik написал(а):
а зачем тебе это вообще нужно, если не секрет? может имеет смысл перевести в массив js и оттуда на стороне клиента сортировать, как то душе угодно?
Цитата (DySprozin @ 21.11.2010 - 08:48) |
эх... мог бы и сам догадаться (; ну хорошо, помогу:
|
проще всю таблицу открыть и потом отсеить
Спустя 1 минута, 57 секунд (21.11.2010 - 11:58) DySprozin написал(а):
job-nik
это сколько весить-то будет такой массивчик на стороне клиента?
это сколько весить-то будет такой массивчик на стороне клиента?


Спустя 58 секунд (21.11.2010 - 11:59) job-nik написал(а):
DySprozin
мне по чём знать? взесь, посчитай
мне по чём знать? взесь, посчитай

Спустя 3 минуты, 12 секунд (21.11.2010 - 12:02) DySprozin написал(а):
job-nik
в зависимости от таблицы это может быть и кбайт, и метр, и десять.. у тебя вряд ли будет желание гулять по сайту, где нужно ждать, пока метр данных загрузится (;
в зависимости от таблицы это может быть и кбайт, и метр, и десять.. у тебя вряд ли будет желание гулять по сайту, где нужно ждать, пока метр данных загрузится (;
Спустя 5 минут, 40 секунд (21.11.2010 - 12:08) deman455 написал(а):
Да, не секрет. Есть приложение в котором есть группы людей. У каждого человека есть свой id и id его группы. Необходимо сделать так что бы пользователь видел всю свою группу, при этом что бы сортировка была по рейтингу.
В приложении несколько десятков тысяч ID`ов, вот там мой второй вопрос. При таком выборе группы, сильно ли это грузит базу? Или так же как и Update?
В приложении несколько десятков тысяч ID`ов, вот там мой второй вопрос. При таком выборе группы, сильно ли это грузит базу? Или так же как и Update?
Спустя 1 минута, 27 секунд (21.11.2010 - 12:09) job-nik написал(а):
DySprozin
я предложил вариант на основе полученных данных от ТС. в поставленной задаче говорилось о 2-100. речи о метре не было. для чего ему нужна таблица? что в этой таблице будет содержатся? нам это пока не известно.
так о чём же вообще спорить? или тебе просто поспорить охота?
я предложил вариант на основе полученных данных от ТС. в поставленной задаче говорилось о 2-100. речи о метре не было. для чего ему нужна таблица? что в этой таблице будет содержатся? нам это пока не известно.


Спустя 1 минута, 16 секунд (21.11.2010 - 12:11) job-nik написал(а):
deman455
тогда тебе надо выбрать не по id а по группе и сортировать по рейтингу
тогда тебе надо выбрать не по id а по группе и сортировать по рейтингу

Спустя 6 минут, 9 секунд (21.11.2010 - 12:17) DySprozin написал(а):
;;в поставленной задаче говорилось о 2-100. речи о метре не было.
всегда надо смотреть в перспектиииве (;
;;При таком выборе группы, сильно ли это грузит базу?
да вроде не должно... стандартный запрос (;
всегда надо смотреть в перспектиииве (;
;;При таком выборе группы, сильно ли это грузит базу?
да вроде не должно... стандартный запрос (;
Спустя 1 час, 20 минут, 28 секунд (21.11.2010 - 13:37) SlavaFr написал(а):
id='2' OR id='4' OR ......id=x
означает тоже самое что
id in(2,4,.....n)
так что
$q=mysql_query("SELECT score FROM users WHERE id in(".implode(',',$masv_s_id).") ORDER BY ?? DESC");
достаточно
edit: чтоб базу не грузило нужно поля которые в order by упомянаются непременно индехировать.
Спустя 9 часов, 54 минуты, 39 секунд (21.11.2010 - 23:32) deman455 написал(а):
Спасибо.