MySQL - Как сделать Номер строки?
while ($row = mysql....) {
$i++;
}
А вот как это получить одним из столбцов в запросе?
Обычно это делается после получения select, и по мере возрастания т.е.
while ($row = mysql....) {
$i++;
}
А вот как это получить одним из столбцов в запросе?
Я могу ошибаться, но не как. Для подсчёта MySQL использует COUNT(), но это немного не то.
А вот как это получить одним из столбцов в запросе?
Совсем не понятно, зачем это нужно, но если очень хочется, то можно сделать такое:
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.
Совсем не понятно, зачем это нужно, но если очень хочется, то можно сделать такое:
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++ :))
Тогда ему и таблицу эту надо будет постоянно удалять:). Всё таки проще через $i++ :))
Я там немного переделал:
CREATE TEMPORARY TABLE
Тогда она сама удаляться будет по-окончании сеанаса связи.
Я там немного переделал:
CREATE TEMPORARY TABLE
Тогда она сама удаляться будет по-окончании сеанаса связи.
И хоть и больно, но я бы настоял на своём:). Это сколько же лишних запросов, да и толк от этого? По большому счёту юзать вместо $i++ $row[]?
И хоть и больно, но я бы настоял на своём:). Это сколько же лишних запросов, да и толк от этого? По большому счёту юзать вместо $i++ $row[]?
Так я ж и говорю - баловство всё это. Вопрос, очевидно, был риторический. Я с трудом могу представить себе ситуацию, в которой в сё это может понадобиться.
Кстати, оно ведь надо еще и из временной таблицы выборку делать, а если соединение постоянное, то tmp таки придётся уничтожать... Короче - хирургия прямой кишки...
Так я ж и говорю - баловство всё это. Вопрос, очевидно, был риторический.
Совершенно верно!
Спасибо за ответы, temp table и $row[] интересные примеры решений :)
Кстати, а почему никто не вспомнил про MySql 5? Так можно писать функции... :)
Кстати, а почему никто не вспомнил про MySql 5? Так можно писать функции... :)
MySQL5 критически мало распространён, поэтому его ещё никто не юзает...
А на вашем месте я бы не мучился так, а просто добавил в искомую таблицу ещё одно поле целого типа с параметром auto-increment...
MySQL5 критически мало распространён, поэтому его ещё никто не юзает...
А на вашем месте я бы не мучился так, а просто добавил в искомую таблицу ещё одно поле целого типа с параметром auto-increment...
Ему нужен не уникальный номер выборки, а порядковый. Это немного разные вещи:)
Обычно это делается после получения select, и по мере возрастания т.е.
while ($row = mysql....) {
$i++;
}
А вот как это получить одним из столбцов в запросе?
Вопрос: Как ты будешь использовать этот столбец? Меня прямо распирает от любопытства :)
Вопрос: Как ты будешь использовать этот столбец? Меня прямо распирает от любопытства :)
Еще раз, вопрос скорее риторический. Как это применить вопрос другой.
Просто один парень на работе спросил, я сам ответ в манах и факах не нашел, вот и решил спросить.
Ему нужен не уникальный номер выборки, а порядковый. Это немного разные вещи:)
дык номер строки при выборках может меняться.
дык номер строки при выборках может меняться.
Ты почитай сообщения в теме вниматочно....
Ты почитай сообщения в теме вниматочно....
прочитал. я так понял камраду надо при выводе строк по селекту выводить и их номера?
прочитал. я так понял камраду надо при выводе строк по селекту выводить и их номера?
Так точно. Он хочет в результате запроса иметь ещё и порядковый нумер ряда выборки.
Так точно. Он хочет в результате запроса иметь ещё и порядковый нумер ряда выборки.
так какой в этом смысл, если нет гарантии, что строки будут выводится в одном и том же порядке? просто пронумеровать вывод?
так какой в этом смысл, если нет гарантии, что строки будут выводится в одном и том же порядке? просто пронумеровать вывод?
Так в том-то и потеха. Я ж и написал: прочитай внемательно....
Он же ж сообщил, что вопрос чисто риторический - не имеющий практического интереса.
Просто так - зарядка для мозжечка :))))
Так в том-то и потеха. Я ж и написал: прочитай внемательно....
Он же ж сообщил, что вопрос чисто риторический - не имеющий практического интереса.
Просто так - зарядка для мозжечка :))))
:D
Кстати что это был за совет $row[]?
:D
Кстати что это был за совет $row[]?
имел ввиду временную таблицу:).