Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MySQL - Как сделать Номер строки?

1.8K
07 декабря 2005 года
tapin13
138 / / 17.06.2004
Обычно это делается после получения select, и по мере возрастания т.е.

while ($row = mysql....) {
$i++;
}

А вот как это получить одним из столбцов в запросе?
15
09 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by tapin13
Обычно это делается после получения select, и по мере возрастания т.е.

while ($row = mysql....) {
$i++;
}

А вот как это получить одним из столбцов в запросе?


Я могу ошибаться, но не как. Для подсчёта MySQL использует COUNT(), но это немного не то.

8
09 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by tapin13
А вот как это получить одним из столбцов в запросе?


Совсем не понятно, зачем это нужно, но если очень хочется, то можно сделать такое:
CREATE TEMPORARY TABLE IF NOT EXISTS tmp (
id INT NOT NULL AUTO_INCREMENT ,
name VARCHAR(255) NOT NULL ,
PRIMARY KEY (id)
);
INSERT INTO tmp (name)
SELECT name FROM table;

Соответственно, требуемое будет в поле id таблицы tmp.

15
09 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by mfender
Совсем не понятно, зачем это нужно, но если очень хочется, то можно сделать такое:
CREATE TABLE tmp (
id INT NOT NULL AUTO_INCREMENT ,
name VARCHAR(255) NOT NULL ,
PRIMARY KEY (id)
);
INSERT INTO tmp (name)
SELECT name FROM table;

Соответственно, требуемое будет в поле id таблицы tmp.


Тогда ему и таблицу эту надо будет постоянно удалять:). Всё таки проще через $i++ :))

8
09 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by shaelf
Тогда ему и таблицу эту надо будет постоянно удалять:). Всё таки проще через $i++ :))


Я там немного переделал:
CREATE TEMPORARY TABLE
Тогда она сама удаляться будет по-окончании сеанаса связи.

15
09 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by mfender
Я там немного переделал:
CREATE TEMPORARY TABLE
Тогда она сама удаляться будет по-окончании сеанаса связи.


И хоть и больно, но я бы настоял на своём:). Это сколько же лишних запросов, да и толк от этого? По большому счёту юзать вместо $i++ $row[]?

8
09 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by shaelf
И хоть и больно, но я бы настоял на своём:). Это сколько же лишних запросов, да и толк от этого? По большому счёту юзать вместо $i++ $row[]?


Так я ж и говорю - баловство всё это. Вопрос, очевидно, был риторический. Я с трудом могу представить себе ситуацию, в которой в сё это может понадобиться.
Кстати, оно ведь надо еще и из временной таблицы выборку делать, а если соединение постоянное, то tmp таки придётся уничтожать... Короче - хирургия прямой кишки...

1.8K
11 декабря 2005 года
tapin13
138 / / 17.06.2004
Цитата:
Originally posted by mfender
Так я ж и говорю - баловство всё это. Вопрос, очевидно, был риторический.



Совершенно верно!
Спасибо за ответы, temp table и $row[] интересные примеры решений :)

Кстати, а почему никто не вспомнил про MySql 5? Так можно писать функции... :)

4.8K
11 декабря 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by tapin13
Кстати, а почему никто не вспомнил про MySql 5? Так можно писать функции... :)


MySQL5 критически мало распространён, поэтому его ещё никто не юзает...

А на вашем месте я бы не мучился так, а просто добавил в искомую таблицу ещё одно поле целого типа с параметром auto-increment...

15
11 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Вася Триллер
MySQL5 критически мало распространён, поэтому его ещё никто не юзает...

А на вашем месте я бы не мучился так, а просто добавил в искомую таблицу ещё одно поле целого типа с параметром auto-increment...


Ему нужен не уникальный номер выборки, а порядковый. Это немного разные вещи:)

1.9K
12 декабря 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by tapin13
Обычно это делается после получения select, и по мере возрастания т.е.

while ($row = mysql....) {
$i++;
}

А вот как это получить одним из столбцов в запросе?



Вопрос: Как ты будешь использовать этот столбец? Меня прямо распирает от любопытства :)

1.8K
12 декабря 2005 года
tapin13
138 / / 17.06.2004
Цитата:
Originally posted by kasap
Вопрос: Как ты будешь использовать этот столбец? Меня прямо распирает от любопытства :)



Еще раз, вопрос скорее риторический. Как это применить вопрос другой.
Просто один парень на работе спросил, я сам ответ в манах и факах не нашел, вот и решил спросить.

2
13 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by shaelf
Ему нужен не уникальный номер выборки, а порядковый. Это немного разные вещи:)


дык номер строки при выборках может меняться.

8
13 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by squirL
дык номер строки при выборках может меняться.


Ты почитай сообщения в теме вниматочно....

2
13 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by mfender
Ты почитай сообщения в теме вниматочно....


прочитал. я так понял камраду надо при выводе строк по селекту выводить и их номера?

8
13 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by squirL
прочитал. я так понял камраду надо при выводе строк по селекту выводить и их номера?


Так точно. Он хочет в результате запроса иметь ещё и порядковый нумер ряда выборки.

2
13 декабря 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by mfender
Так точно. Он хочет в результате запроса иметь ещё и порядковый нумер ряда выборки.


так какой в этом смысл, если нет гарантии, что строки будут выводится в одном и том же порядке? просто пронумеровать вывод?

8
13 декабря 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by squirL
так какой в этом смысл, если нет гарантии, что строки будут выводится в одном и том же порядке? просто пронумеровать вывод?


Так в том-то и потеха. Я ж и написал: прочитай внемательно....
Он же ж сообщил, что вопрос чисто риторический - не имеющий практического интереса.
Просто так - зарядка для мозжечка :))))

1.8K
14 декабря 2005 года
tapin13
138 / / 17.06.2004
Цитата:
Originally posted by mfender
Так в том-то и потеха. Я ж и написал: прочитай внемательно....
Он же ж сообщил, что вопрос чисто риторический - не имеющий практического интереса.
Просто так - зарядка для мозжечка :))))

:D

Кстати что это был за совет $row[]?

15
14 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by tapin13
:D

Кстати что это был за совет $row[]?


имел ввиду временную таблицу:).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог