选择最长日期

时间:2013-01-13 19:19:03

标签: sql

我有一个包含3列的表:

  • id (int)
  • name (String)
  • date_created (Date)

如何根据date_created列选择添加到数据库的姓氏?

4 个答案:

答案 0 :(得分:2)

SQL-SERVER:

SELECT TOP 1 name
FROM dbo.TableName
ORDER BY date_created DESC

MySQL的:

SELECT name
FROM dbo.TableName
ORDER BY date_created DESC
Limit 1

如果要在多行具有相同的最高TOP 1 WITH TIES值时包含所有内容,则可以在T-SQL中使用date_created。在MySQL上,您需要使用子查询。 Here's一个例子。

答案 1 :(得分:0)

试试这个:

SELECT name FROM table
WHERE date_created  = (SELECT MAX(date_created) FROM table)

答案 2 :(得分:0)

如果你有自动增量(SQL Server中的身份)id,那么你可以改用它:

select name
form table
order by id desc
limit 1

当然,limit 1取决于数据库。它在SQL Server中为select top 1,在Oracle中为where rownum = 1,在db2中为fetch first 1 row

答案 3 :(得分:0)

您还可以使用子查询:

select t1.id, t1.name, t1.date_created
from yourtable t1
inner join
(
  select max(date_created) MaxDate
  from yourtable
) t2
  on t1.date_created = t2.maxdate

这将返回所有包含max(created_date)

的记录