Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Порядковый номер строки в выборке. (Terraneous) 09/01/2006 - 14:27:54
      Re: Порядковый номер строки в выборке. (Dinky) 09/01/2006 - 18:49:37
      Re: Порядковый номер строки в выборке. (Terraneous) 11/01/2006 - 06:01:09
      Re: Порядковый номер строки в выборке. (Dinky) 11/01/2006 - 19:20:52
      Re: Порядковый номер строки в выборке. (Terraneous) 13/01/2006 - 12:45:46
      Re: Порядковый номер строки в выборке. (Dinky) 13/01/2006 - 19:12:08
      Re: как заполнить поле порядковыми номерами (bfg) 24/03/2006 - 14:08:45
      Re: Порядковый номер строки в выборке. (Temp1ar) 22/12/2008 - 14:57:34
      Re: Порядковый номер строки в выборке. (Golf) 02/03/2009 - 01:51:55
      Re: Порядковый номер строки в выборке. (Kio) 27/01/2010 - 20:22:37
      Re: Порядковый номер строки в выборке. (манвел) 27/04/2010 - 19:03:00

> Original message text:
> From: Terraneous - 09/01/2006 - 14:27:54
> Subject:Порядковый номер строки в выборке.
> -----------------
> Здравствуйте.
>
> Как определить порядковый номер строки в выборке по какому-нибудь из полей выборке.
>
> Есть такая таблица:
> drop table if exists test;
> create table test (id int(11));
>
> insert into test (id) values ('22');
> insert into test (id) values ('23');
> insert into test (id) values ('18');
> insert into test (id) values ('14');
> insert into test (id) values ('15');
> insert into test (id) values ('16');
> insert into test (id) values ('19');
> insert into test (id) values ('20');
>
> Делаю выборку:
> SET @v1 := 0;
> select @v1:=(@v1+1) AS num, id from test;
>
> Но необходимо не просто пронумеровать строки в выборки, а определить порядковый номер определенного ID. Для этого я использую такой запрос:
>
> SET @v1 := 0;
> select distinct if((@v1:=(@v1+1))&&(id=14), @v1, NULL) AS id from test;
>
> Вопрос: Может быть, есть боле элегантный способ?
>
> Заранее благодарю.
>


From: Terraneous - 11/01/2006 - 06:01:09
Subject:Порядковый номер строки в выборке.
-----------------
Дмитрий, я не имею введи саму БД, а говорю про выборку, которую осуществляет оператор "SELECT" из базы данных. Ведь любой правильный запрос, сделанный "SELECT", в конечном итоге возвращает таблицу, по этому(насколько я помню) такие базы данных и называют реляционными. А если это таблица, то в ней может быть и первая, и вторая, и третья строка. Что касается "ORDER BY", пожалуйста, можно задать и такой запрос:
select distinct if((@v1:=(@v1+1))&&(id=14), @v1, NULL) AS id from test order by id;
Ведь после оператора "from" можно изменить запрос по любому, главное, чтобы в таблице, к которой мы обращаемся было поле "id".


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37073



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |