счетчик строк

maxon

Новичок
счетчик строк

Делаю выборку из двух таблиц, необходимо пронумеровать полученные строки. Т.е. что-то вроде счетчика строк. На уме только один вариант, заносить полученные данные в новую таблицу с автоинкрементом, но как-то сложновато получается. Может есть какая-нибудь функция?
 

voituk

прозревший
а что тебе мешает делать счетчик средствами php ?

Можно ещё так:
[sql]
select @v:=0;
select *, @v:=@v+1 as numb from ... ...
[/sql]
 

maxon

Новичок
Нужно именно средствами SQL, так как этот номер будет использоваться в дальнейшем запросе. До вывода на экран там еще далеко.
 

Фанат

oncle terrible
Команда форума
объясни, что ты хочешь сделать, изобретая этот велосипед
 

phprus

Moderator
Команда форума
А почему ты не хочеш в каждой из 2-х таблиц сделать поле с автоинкрементом и уже значения этого поля использовать в качестве номера?

P.S. это мое 200-е сообщение.
 

maxon

Новичок
Попробую объяснить,
есть таблицы:

tmp - таблица телефонных номеров
code - таблица кодов городов

В первой выборке сопоставляю коды телефонным номерам с помощью substring.

В результате получаю следующее:
если 7 - код России , а 7496 - код Московской области (таблица кодов) - то телефонный номер 7496ХХХХХХХ будет сопоставлен дважды (как вызов на Россию и как вызов на Московскую область).
Поэтому нужно из полученного выбрать только строки с максимальной длинной кода, т.е. в данном случае нужно отсеять строку, в которой 7496ХХХХХХХ сопоставлен коду 7, и оставить строку в которой 7496ХХХХХХХ сопоставлен коду 7496. Простым GROUP это делать нельзя, поэтому использую вложенный запрос, который ориентируется на тот самый номер (ключ), без которого он работать не будет.
 

Skubent

Новичок
Что-то не пойму, что у тебя на входе и что должно получиться на выходе.
А так - почему коды стран на вынесены в отдельную таблицу ? Телефонные номера как мне помнится унифицированы к формату код страны - код города - код абонента.
 

maxon

Новичок
Не вынесены потому, что такова концепция. Все коды храняться в одной таблице. Т.е. это просто таблица направлений. 7 - одно направление, 7496 - другое, и мы как бы не задумываемся о том, что 7496 входит в 7.

На входе лог телефонных звонков с номерами. Необходимо разобрать все звонки по направлениям (кодам) соответственно.
 

Skubent

Новичок
Отрезаем последние 7 цифр - получаем код страны+города.
Ищем его.

В общем случае надо подумать, как быть с городами, номера которых при междугородных(народных) вызовах добиваются двойками до семи цифр.
 
Сверху