есть запрос:
select
otd,count(id) as cnt
from table1
group by otd
order by cnt desc
Надо узнать, на каком месте находится, например otd='123'
Mysql и номер по порядку
неужели задача не решаема простым способом?
Простым - точно нерешаема.
Вообще задача скажем так не совсем SQL-ная.
Я бы делал выборку во временную таблицу с автоинкрементным полем.
Вообще задача скажем так не совсем SQL-ная.
Я бы делал выборку во временную таблицу с автоинкрементным полем.
Даже самый дурацкий замысел можно воплотить мастерски
Как вариант, но, например, если записей далеко за десятки тысяч. Плодить временные таблицы :-( Можно, имхо, вложенными селектами, но 3 версия мускуля их не держит...
Ну, курсор в общем случае ещё тяжелее, да и нету их опять же минимум в ранних версиях mySQL.
А вообще задача вот почему не SQL-ная. Чтобы отобразить резалтсет ты всё-равно его в клиентском приложении выфетчить должен. Соответственно, счётчик на клиенте реализуется проще всего. Кроме того, на сколько я помню, mySQL имеет встроенное средство, выдающее порядковый номер строки резалтсета, причём с возможностью выборки по этому порядковому номеру.
А вообще задача вот почему не SQL-ная. Чтобы отобразить резалтсет ты всё-равно его в клиентском приложении выфетчить должен. Соответственно, счётчик на клиенте реализуется проще всего. Кроме того, на сколько я помню, mySQL имеет встроенное средство, выдающее порядковый номер строки резалтсета, причём с возможностью выборки по этому порядковому номеру.
Даже самый дурацкий замысел можно воплотить мастерски
Да, так и придется
set @a=0;
create table select @a=@a+1...
select
drop...
Сделал бы временную таблу, но почему-то не могу из перла (use MySQL) сделать множественный запрос :-)
set @a=0;
create table select @a=@a+1...
select
drop...
Сделал бы временную таблу, но почему-то не могу из перла (use MySQL) сделать множественный запрос :-)