Как получить последнюю строку sql
Рассмотрим несколько примеров, как получить id последней записи в таблицах mysql.
Существует несколько способов получения последней добавленной записи.
Получение последнего добавленного id в таблице mysql — способ 1.
Делаем полную выборку из таблицы your_table с помощью оператора SELECT, используем сортирову в обратном порядке по столбцу id (ORDER BY id DESC) и оставляем одну запись (LIMIT 1), понятно что она и будет последней добавленной записью.
SELECT * FROM your_table ORDER BY id DESC LIMIT 1;
Получение последнего добавленного id в таблице mysql — способ 2.
Используем для получения последнего id вставленной строки, функцию LAST_INSERT_ID().
SELECT * FROM your_table WHERE >Это все, если кто знает еще какие-нибудь способы то пишите. Всем пока.
Функция SQL LAST ()
Последняя функция () возвращает значение указанного столбца в последней записи.
SQL ПОСЛЕДНИЙ) синтаксис (
SELECT LAST(column_name) FROM table_name;
Примечание: Только поддержка MS Access Последняя функция ().
SQL Server, MySQL и Oracle в SQL ПОСЛЕДНЕГО () место для работы
Синтаксис SQL Server
SELECT TOP 1 column_name FROM table_name
ORDER BY column_name DESC;
примеров
SELECT TOP 1 name FROM Websites
ORDER BY id DESC;
синтаксис MySQL
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;
примеров
SELECT name FROM Websites
ORDER BY id DESC
LIMIT 1;
Oracle Синтаксис
SELECT column_name FROM table_name
ORDER BY column_name DESC
WHERE ROWNUM <=1;
примеров
SELECT name FROM Websites
ORDER BY id DESC
WHERE ROWNUM <=1;
Демонстрационная база данных
В этом уроке мы будем использовать w3big образец базы данных.
Ниже приводится выбранные «сайты» таблица данных:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 本教程 | http://www.w3big.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 6 | 百度 | https://www.baidu.com/ | 4 | CN | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
SQL LAST () примеры
Следующий SQL заявление выбрать столбец таблицы «Сайты», «название» последнего рекордного значения:
примеров
SELECT name FROM Websites
ORDER BY id DESC
LIMIT 1;
реализация SQL из приведенных выше результатов, следующие:
Как получить последнюю запись по последней дате?
Есть таблица tb.SO к которой я присоединяю ещё две таблицы через left join:
В таблице tb.Price записи по полям ID Brewery и Product code повторяются, меняться только цена и ID периода (в этой таблице 25мил записей)
В таблице tb.Period даты проливки цен
В результате нужно сделать выборку товаров только по последней дате (Period ID или Date Period) с ценой (Product price)
- Вопрос задан более двух лет назад
- 2260 просмотров
4 комментария
Простой 4 комментария

Сергей П @trapwalker
Вы бы лучше ER- диаграмму ривели, в не вот это вот всё.

kot ok @kot_tok_ok Автор вопроса
Выбрать последнюю строку из таблицы базы данных
Доброго времени суток. Подскажите пожалуйста как можно выбрать последнюю строку из таблицы БД (MS SQL Server)?
Заранее большое спасибо.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Запрос: выбрать из таблицы самую последнюю строку
Подскажите пожалуйста как записать запрос, чтобы выбрать самую последнюю строку из таблицы БД.
Переход на последнюю строку таблицы
HI, ALL Подскажите, плз, имеется форма ввода данных в таблицу, содержащая три выпадающих.
Возвращает только последнюю строку из таблицы БД
Select some_field from some_table where absd = 125; возвращает только последнюю строку как.
JS сортировка таблицы (исключить последнюю строку)
Здравствуйте, есть функция сортировки строк таблицы по возрастанию и убыванию, последняя строка.
2407 / 2261 / 589
Регистрация: 27.05.2011
Сообщений: 7,745
Последнею относительно какого поля?
Регистрация: 25.04.2014
Сообщений: 25
Если я правильно понял, то:
SELECT * FROM TABLE WHERE id=(SELECT MAX(id) FROM TABLE);
Это если смотреть по полю с уникальным целочисленным идентификатором.
2407 / 2261 / 589
Регистрация: 27.05.2011
Сообщений: 7,745
SELECT * FROM TABLE WHERE id=(SELECT MAX(id) FROM TABLE);
Если уж по айди, то зачем 2 выборки?
SELECT * FROM TABLE order by id DESC LIMIT 1
Регистрация: 03.05.2014
Сообщений: 24
к сожалению sqlsrv не поддерживает параметр LIMIT
Добавлено через 1 минуту
Сообщение от crautcher 
Последнею относительно какого поля?
к примеру относительно поля id.
В последствии это нужно для того, чтобы автоматически заполнять форму ввода, т.е. выбираем последнюю запись в id прибавляем 1 и заносим в поле.
Регистрация: 25.04.2014
Сообщений: 25
Сообщение от crautcher 
Если уж по айди, то зачем 2 выборки?
Код MySQL
SELECT * FROM TABLE order by id DESC LIMIT 1
В вашем варианте, база сначала выполнит выборку ВСЕХ строк и только потом применит к ней LIMIT, что отрицательно скажется на быстродействии при больших таблицах. При поиске по ключу времени затратится меньше.
2407 / 2261 / 589
Регистрация: 27.05.2011
Сообщений: 7,745
Добавлено через 1 минуту
Сообщение от Indev29 
В вашем варианте, база сначала выполнит выборку ВСЕХ строк
Конечно нет, не говорите глупости, она выберет 1 строку с максимальным айди, остальные трогать не будет.
Регистрация: 25.04.2014
Сообщений: 25
Сообщение от mlapshakova 
В последствии это нужно для того, чтобы автоматически заполнять форму ввода, т.е. выбираем последнюю запись в id прибавляем 1 и заносим в поле.
При большом кол-ве одновременно подключенных пользователей возникнут конфликты, так как пользователи будут генерировать одинаковые id-шники. Не знаю, что насчет MS SQL, но в MySQL для автоматической генерации идентификаторов существует auto increment, а в interbase — счетчики.
Добавлено через 3 минуты
crautcher, извиняюсь, немного спутал с обработкой:
LIMIT 10000, 1
Регистрация: 03.05.2014
Сообщений: 24
Спасибо всем, попробую, отпишусь)
а по поводу аналогов LIMIT.
Для реализации другого блока пыталась заменить LIMIT на TOP, а он не отработал.
Там плагин jqgrid и там постраничный вывод из бд в таблицу,т.е. определенное кол-во записей на странице , так вот там сделано для MYSQL и использовали LIMIT, я пыталась подставить TOP,но тогда вообще никакие данные из таблицы не выводятся(
Регистрация: 03.05.2014
Сообщений: 24
Всем спасибо, разобралась.
Отсортировала все записи по убыванию по id и выбрала первую строку.
$sql = 'select TOP 1 * from i_ab_doc1 ORDER BY id DESC';
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Передать фокус на последнюю строку таблицы
Таблица добавлена в JScrollPane. Когда она уже большая и последние строки не видно, как можно.
Как найти последнюю строку таблицы Excel
Доброго времени суток. упорно занялся изучением VBA кое какие вещи уже получаются, но при работе.
Изменить (UPDATE) последнюю строку (на текущий момент) таблицы БД
Есть таблица, содержащая 5 колонок: Id, Name, FullName, Group, Rating. Имя, фамилия и группа.
Как вставить в поле со списком последнюю строку или запись из необходимой таблицы
Здравствуйте уважаемые форумчане. Я начинающий в access. Суть вопроса в следующем: необходимо.
