Forum Webscript.Ru

Программирование => PHP => Тема начата: sanika от 02 Июля 2004, 12:11:42

Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 12:11:42
Как мне вытянуть с помощью РНР и SQL запроса все данные из последего рядка таблицы? возможно ли такое?
Название: Последняя строчка таблицы
Отправлено: Макс от 02 Июля 2004, 12:22:24
Ох, наверное уже 50-ый раз пишу это .
В таблице нет ни первой, ни второй, ни последней строки. Данные в таблице неупорядочены. С точки зрения теории таблица - это множество записей. А множества по определению неупорядочены.

Но, упорядочить можно выборки -  то есть результаты SELECT-запросов. То есть если ты напишешь
SELECT * FROM your_table ORDER BY datetime_field DESC LIMIT 0,1
ты получишь запись, которая имеет наибольшее время в datetime_field и если в этом поле ты хранишь время добавления то таким запросом ты получишь запись, добавленую последней в таблицу.
Но само выражение "Последняя запись таблицы" некорректно и показывает, что человек не знает теорию СУБД

ЗЫ
Ромик, может что-то похожее в FAQ добавишь ?
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 12:53:22
Это я знаю, но если у меня в таблице есть поля, где дата повторяется? Можно конечно добавить поле с порядковым номером, но для этого прийдется много запросов переделать на сайте ... как можно проще?
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 13:02:50
а как можно обратится к последнему рядку вообще? (примером если в записях нету даты, или времени)? Подскажите пожалуста?
Название: Последняя строчка таблицы
Отправлено: ThE0ReTiC от 02 Июля 2004, 13:07:16
sanika
еще раз.
нет такого понятия в РСУБД как последний рядок.
нет вообще такого понятия как рядок.
понятие "последний" в безусловном аспекте абсолютно бессмысленно.
последний должен быть по отношению к чему-либо.
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 13:35:01
Хорошо,  если у меня за сегодня зарегистрировано три человека, но мне надо вывести последнего зарегестрированого в поле таблицы стоит свойство "дата". Как мне его вывести? Вызходит что без порядкового номера в таблице мне все таки не обойтись?
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 13:50:25
база данных - это не набор счетных палочек, который тебе ближе.
если тебе нужен какой-то порядок выборки, то ты должен САМ его задавать
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 13:50:56
в факе это есть.
у тони
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 13:52:59
sanika
это может быть не порядковый номер, а есть много других вариантов.
наприер, автоматически увеличивающийся счетчик.
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 13:54:51
тоеть можна сделать счетчик рядков, узнать сколько их, и вывести его?
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 13:56:28
нет. ничего узнавать не надо.
надо отсортировать по автоматически увеличивающемуся полю и взять самое первое.
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 13:56:50
Цитировать
в факе это есть.
у тони
.. если не затруднит - урл....
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 13:57:18
и забудь про свои грядки.
в базе есть СТРОКИ
вот и называй их, как положено
Название: Последняя строчка таблицы
Отправлено: Меняздесьдавнонет от 02 Июля 2004, 14:00:25
sanika
по урлу написано то же самое, что тебе Макс объяснл.
если тебе это не помогло, то и урл не поможет.

тебе надо понять другое.
в mysql практически никогда не создается таблиц без поля id, которое является автоинкрементным уникальным индексом.
первое назначение этого поля - УНИКАЛЬНАЯ идентификация записей.
Кк дополнительный бонус, можно это поле рассматривать и как метку добавления - раньше-позже.
Единственное, как что нельзя рассматривать это поле - это как нумератор
Название: Последняя строчка таблицы
Отправлено: sanika от 02 Июля 2004, 14:09:14
короче я прошел к тому, с чем пришел :) база не моя, а тот умник не создал поля с автоинкрементом ... вот я и стпрашивал .. .надо его создавать, или можна так обойтись :). Выходит что создавать - обязательно..