Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 877

/ вопрос открыт /

Приветствую, уважаемые эксперты!

Подскажите пжлста как составить sql-запрос на вывод последних n записей из таблицы.
Я в sql не силен. Можно конечно запросить все записи и потом выдрать нужное кол-во руками. Но может можно одним запросом?

Заранее спасибо!

Muratov Radik Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Muratov Radik (статус: Посетитель)
Вопрос отправлен: 12 марта 2010, 14:04
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Dron

Здравствуйте, Muratov Radik!
Структуру своей таблицы вы привести не захотели, так что ответ будет общим.
Последние записи можно выбрать, если есть поле даты/времени. В этом случае запрос будет таким:

SELECT поле1, поле2, поле3, ... FROM таблица ORDER BY поле_даты DESC LIMIT количество_записей

Ответ отправил: Dron (статус: Студент)
Время отправки: 12 марта 2010, 14:08

Ответ #2. Отвечает эксперт: Вадим К

Здравствуйте, Muratov Radik!
В Access нет ключевого слова LIMIT, поэтому приведённый выше запрос не будет работать. Но там есть аналог - TOP.
Но это ключевое слово отбирает первые записи в выборке. (заметка - просто взять "последние записи с таблицы" нельзя. надо считать, что записи там неупорядоченные. Почему? так задумано).
Для этого записи сортируем в обратном порядке и отбираем первые. Правда в результирующей выборке они будут наоборот...
SELECT TOP 10 * FROM имя_таблицы ORDER BY Счетчик DESC

Правда, можно извернуться и сделать вложенный запрос. Если я правильно написал, то выглядеть должно где то так
SELECT *
FROM (SELECT TOP 10 * FROM имя_таблицы ORDER BY Счетчик DESC) ORDER BY Счетчик

Но вот развернет ли это все Access - я сомневаюсь.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 12 марта 2010, 15:20
Оценка за ответ: 5

Комментарий к оценке: Спасибо! Access развернул вложенный запрос. Все работает. Осталось только отсортировать таблицу в обратном порядке

Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 12 марта 2010, 15:00; участников в обсуждении: 1.
Muratov Radik

Muratov Radik (статус: Посетитель), 12 марта 2010, 15:00 [#1]:

Таблица простая:
Код - типа Счетчик(он же ключ)
Имя - Строка
Фамилия - Строка
Номер телефона - Строка

База Access

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 16 ноября 2024, 20:46
Выполнено за 0.02 сек.