Выбор строки с большим серийным номером

#sql

#sql

Вопрос:

итак, у меня есть таблица sql, которая включает строки с серийными номерами. Теперь мне нужно выбрать только одну строку, и это должна быть строка с наибольшим серийным номером.

Пример

 17 Cool Dude
18 Riha
  

Мне нужно выбрать строку «18 Riha» …. как мне это сделать?

Спасибо.

Комментарии:

1. Не забудьте указать, о какой реализации SQL SQL вы говорите (MySQL, MS SQL Server, Oracle, PostgreSQL, …)

Ответ №1:

 SELECT * FROM table ORDER BY serial DESC LIMIT 1;
  

Ответ №2:

В MSSQL вы можете использовать ключевое слово TOP.

 SELECT TOP 1 * FROM table ORDER BY serial DESC
  

Комментарии:

1. мне нужно выбрать всю строку с ее данными. можете ли вы дать мне код для этого. Спасибо.

2. SELECT TOP 1 * FROM table ORDER BY serial DESC Обновленный ответ, чтобы соответствовать.

Ответ №3:

РЕДАКТИРОВАТЬ: Специфичный для Oracle

Получите максимальный серийный номер, а затем получите строку / rows (если максимальный серийный номер не уникален), которая имеет серийный номер.

 select * from table1
where id = (select max(id) from table1);
  

Или упорядочите результаты по убыванию идентификатора, а затем получите первую строку в результирующем наборе..

 select * from (
select * from table1
order by id desc)
where rownum = 1
  

или используйте аналитические функции…

 select * from 
(select t1.*, rank () over (order by t1.id desc) rnk
  from table1 t1
) where rnk = 1;