Как выбрать последнюю запись таблицы в 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());
    }
}
627   8  

8 ответов:

без какой-либо дополнительной информации, базы данных и т. д. лучшее, что мы можем сделать, это что-то вроде

Sql Server

SELECT TOP 1 * FROM Table ORDER BY ID DESC

MySql

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);

выход:

последняя строка вашей БД!

SELECT * FROM table ORDER BY Id DESC LIMIT 1

последний-это только первый, когда вы отменяете свой заказ.

в Oracle, вы можете сделать:

SELECT *
FROM (SELECT EMP.*,ROWNUM FROM EMP ORDER BY ROWNUM DESC)
WHERE ROWNUM=1;

Это один из возможных способов.

SELECT * FROM TABLE WHERE id = (SELECT MAX(id) FROM TABLE);
    Ничего не найдено.

Добавить ответ:
Отменить.