Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как выбрать последнее 
:(
    Опции темы
Alex0202
  Дата 28.5.2005, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



Таблица:
Код

CREATE TABLE `members` (
  `oid`  integer(18) default NULL,
  `id` varchar(15) default NULL,
  `age` integer(2) default NULL,
  `country` varchar(35) default NULL,
  `state` varchar(3) default NULL,
  `city` varchar(50) default NULL,
  `sex`  varchar(8) default NULL,
  `lsex`  varchar(8) default NULL,
  `pwd`  varchar(15) default NULL,    
  `email`  varchar(35) default NULL
) TYPE=MyISAM;


Как мне выделить(отсортеравать) все начиная с последней добавленой запись ?
PM MAIL   Вверх
Black
Дата 28.5.2005, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Цитата
Как мне выделить(отсортеравать) все начиная с последней добавленой запись ?


Если я правильно понял что вам надо тогда так:

Код

SELECT * FROM members ORDER BY id desc; 




--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Irokez
Дата 28.5.2005, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(PHP @ 28.5.2005, 09:10)
SELECT * FROM members ORDER BY id desc;

тогда надо объявить ID как счетчик (auto_increment) или ввести дополнительное поле типа timestamp
PM   Вверх
Black
Дата 28.5.2005, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Irokez
ну я думаю Alex0202 занося ID делает ID++ smile

Если же ID будут иметь одинаковые значения нарушится условие
Цитата
начиная с последней добавленой записи


Это сообщение отредактировал(а) PHP-DIRECTOR - 28.5.2005, 14:43


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 28.5.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Вообще разве они не автоматом выйдут начиная с последней, если просто сделать
Код

SELECT * FROM ...

Насколько я знаю во многих БД это именно так. Без доп. условий записи складываются по мере их добавления и выдаются в обратном порядке.
(Насчёт стандарта, не знаю... Вряд ли это так..)


Добавлено @ 14:49
Это конечно если tiestamp'a нет.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Irokez
Дата 28.5.2005, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(sergej @ 28.5.2005, 14:49)
Вообще разве они не автоматом выйдут начиная с последней, если просто сделать

наоборот, начиная с первой, идут
PM   Вверх
sergejzr
Дата 28.5.2005, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360




Тогда если нет timestamp, можно извратиться создав темп - таблицу и скопировав в неё данные + timestamp.
И выдавать наоборот smile




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Mal Hack
Дата 28.5.2005, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Irokez @ 28.5.2005, 15:52)
наоборот, начиная с первой, идут


Цитата(sergej @ 28.5.2005, 15:49)
Вообще разве они не автоматом выйдут начиная с последней, если просто сделать


Если никакая сортировка не указана, то база выдаст записи, отсортированные по времени последнего добавления, т.е. так, в каком порядке они лежат в памяти. Первый зашел, последний вышел.

НО, после отсортированной выборки вполне возможно, что результат безсортированной выборки будет отсортирован так, как на данный момент в памяти данные лежат.
PM ICQ   Вверх
Гость_Alex0202
Дата 28.5.2005, 20:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











id это имя пользователя vasya , petya ...
Я знаю что можно использовать timestamp но нехотелось бы иметь лишних полей так как база будет 500,000+ записей
  Вверх
Irokez
Дата 28.5.2005, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



Цитата(Mal @ 28.5.2005, 20:04)
Если никакая сортировка не указана, то база выдаст записи, отсортированные по времени последнего добавления, т.е. так, в каком порядке они лежат в памяти. Первый зашел, последний вышел.

может все таки наоборот? первая запись будет первой и в выборке

Цитата
id это имя пользователя vasya , petya ...
Я знаю что можно использовать timestamp но нехотелось бы иметь лишних полей так как база будет 500,000+ записей

по-моему все таки лучше ввести еще одно поле - дата регистрации, потому что насколько мне известно иначе получить искомую выборку в MySQL (MyISAM) невозможно
PM   Вверх
Mal Hack
Дата 28.5.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Irokez @ 28.5.2005, 21:49)
может все таки наоборот? первая запись будет первой и в выборке

Может я опять туплю... То, что последним добавил первым выйдет в выборке. В любом случае зависит от того, как в данный конкретный момент в памяти таблица лежит.
PM ICQ   Вверх
Guest
Дата 28.5.2005, 21:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
id это имя пользователя vasya , petya ...
Я знаю что можно использовать timestamp но нехотелось бы иметь лишних полей так как база будет 500,000+ записей


Млин, а первичный ключ у тебя что? Хотяб во избежание дубликации строк следует ввести автоинкрементное поле. А также если в таблице не будет целочисленного id, как же будет производиться соединение?
Точнее, что потом даст EXPLAIN ?
  Вверх
Гость_Ignat
Дата 28.5.2005, 21:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Это был Ignat smile
  Вверх
Alex0202
Дата 28.5.2005, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



to Guest :
oid = mt_rand(999,999999);

PM MAIL   Вверх
Гость_Alex0202
Дата 29.5.2005, 18:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А может можно сделать например

Код

$res=mysql_query("SELECT * FROM `members`");


а потом перевернуть результат

Код

$res=reverse($res);

только как ??

array_reverse совсем не то ..

а идеально было бы есьи можно можно так:

Код

$res=mysql_query("SELECT * FROM `members` DESC");

smile
  Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1259 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.