Как выбрать последнюю запись таблицы в SQL?
Это пример кода для выбора всех записей из таблицы. Может кто-нибудь показать мне, как выбрать последнюю запись этой таблицы?
select * from table
когда я использую: SELECT * FROM TABLE ORDER BY ID DESC LIMIT
Я получаю эту ошибку: строка 1: неправильный синтаксис рядом с "пределом".
Это код, который я использую:
private void LastRecord()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HELPDESK_OUTLOOKConnectionString3"].ToString());
conn.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("SELECT * FROM HD_AANVRAGEN ORDER BY " +
"aanvraag_id DESC LIMIT 1", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
TextBox1.Text = (myReader["aanvraag_id"].ToString());
TextBox1.Text += (myReader["wijziging_nummer"].ToString());
TextBox1.Text += (myReader["melding_id"].ToString());
TextBox1.Text += (myReader["aanvraag_titel"].ToString());
TextBox1.Text += (myReader["aanvraag_omschrijving"].ToString());
TextBox1.Text += (myReader["doorlooptijd_id"].ToString());
TextBox1.Text += (myReader["rapporteren"].ToString());
TextBox1.Text += (myReader["werknemer_id"].ToString());
TextBox1.Text += (myReader["outlook_id"].ToString());
}
}
8 ответов:
без какой-либо дополнительной информации, базы данных и т. д. лучшее, что мы можем сделать, это что-то вроде
Sql Server
SELECT TOP 1 * FROM Table ORDER BY ID DESCMySql
SELECT * FROM Table ORDER BY ID DESC LIMIT 1
предполагая, что у вас есть столбец Id:
SELECT TOP 1 * FROM table ORDER BY Id DESC;кроме того, это будет работать на SQL Server. Я думаю, что MySQL вам может понадобиться использовать:
SELECT * FROM table ORDER BY Id DESC LIMIT 1но, я не 100% уверен в этом.
EDIT
глядя на другие ответы, я теперь на 100% уверен, что я прав с заявлением MySQL :o)
EDIT
только что видел ваш последний комментарий. Вы могли бы делать:
SELECT MAX(Id) FROM tableЭто даст вам самый высокий идентификационный номер.
SELECT * FROM TABLE ORDER BY ID DESC LIMIT 1Да это mysql, SQL Server:
SELECT TOP 1 * FROM Table ORDER BY ID DESC
чтобы получить последний row на SQL-Database используйте эту строку sql:
SELECT * FROM TableName WHERE id=(SELECT max(id) FROM TableName);выход:
последняя строка вашей БД!
в Oracle, вы можете сделать:
SELECT * FROM (SELECT EMP.*,ROWNUM FROM EMP ORDER BY ROWNUM DESC) WHERE ROWNUM=1;Это один из возможных способов.
Comments