Ответ 1
Без какой-либо дополнительной информации, которую Database и т.д. мы можем сделать, это что-то вроде
Сервер Sql
SELECT TOP 1 * FROM Table ORDER BY ID DESC
MySql
SELECT * FROM Table ORDER BY ID DESC LIMIT 1
Это пример кода для выбора всех записей из таблицы. Может ли кто-нибудь показать мне, как выбрать последнюю запись этой таблицы?
select * from table
Когда я использую: SELECT * FROM TABLE ORDER BY ID DESC LIMIT
Я получаю эту ошибку: Строка 1: Неправильный синтаксис рядом с "LIMIT".
Это код, который я использую:
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());
}
}
Без какой-либо дополнительной информации, которую Database и т.д. мы можем сделать, это что-то вроде
Сервер Sql
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%.
ИЗМЕНИТЬ
Глядя на другие ответы, я теперь на 100% уверен, что я прав с помощью инструкции MySQL: o)
ИЗМЕНИТЬ
Только что видел ваш последний комментарий. Вы можете сделать:
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
чтобы получить последнюю строку SQL-Database, используя эту строку sql:
SELECT * FROM TableName WHERE id=(SELECT max(id) FROM TableName);
Вывод:
Последняя строка вашего db!
SELECT * FROM TABLE WHERE id = (SELECT MAX(id) FROM TABLE);
SELECT MAX(id)
означает получение наибольшего идентификатора в таблице, поэтому он возвращает число, которое теперь является максимальным идентификатором, используя WHERE id = maxId
Вы можете получить строку с наибольшим идентификатором, что означает последнюю строку, если вы используете автоматическое приращение.
SELECT * FROM table ORDER BY Id DESC LIMIT 1
Последний является первым, когда вы меняете порядок.
В Oracle вы можете:
SELECT *
FROM (SELECT EMP.*,ROWNUM FROM EMP ORDER BY ROWNUM DESC)
WHERE ROWNUM=1;
Это один из возможных способов.
$sql="SELECT tot_visit FROM visitors WHERE date = DATE(NOW()) - 1 into @s
$conn->query($sql);
$sql = "INSERT INTO visitors (nbvisit_day,date,tot_visit) VALUES (1,CURRENT_DATE,@s+1)";
$conn->query($sql);
Вы также можете сделать что-то вроде этого:
SELECT LAST (column_name) AS LAST_CUSTOMER FROM table_name;
select ADU.itemid, ADU.startdate, internalcostprice
from ADUITEMINTERNALCOSTPRICE ADU
right join
(select max(STARTDATE) as Max_date, itemid
from ADUITEMINTERNALCOSTPRICE
group by itemid) as A
on A.ITEMID = ADU.ITEMID
and startdate= Max_date
При создании таблицы всегда полезно иметь автоматический идентификатор строки, например
[RowID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL
тогда вы можете определить свой последний ряд по
select * from yourTable where rowID = @@IDENTITY
Я думаю, что это должно сделать это.
declare @x int;
select @x = max(id) from table_name;
select * from where id = @x;