2017-04-21 70 views
-1

最年轻的学生,我有如下表:找到日期

 
name  id  DOB      marks 
rk   2  2006-02-03 00:00:00.000 30 
mk   3  2006-07-07 00:00:00.000 30 
pk   4  2006-04-09 00:00:00.000 30 
sk   5  2006-05-03 00:00:00.000 30 
fk   6  2006-08-09 00:00:00.000 30 
nk   7  2007-08-06 00:00:00.000 30

我怎样才能找到最年轻的学生?

+2

什么数据库。 –

+3

重要的是,您是否使用Sql Server,Access,MySql,Oracle等,因为所有这些语句限制行的语法略有不同:“TOP”与“LIMIT”与“OFFSET/FETCH”。 –

+1

你有什么尝试吗? – logixologist

回答

3

看起来像你只需要诞生的最新日期(假设DOB是出生日期):

select max(dob) from yourtable 

然后将查询将是:

select name as youngestStudent, dob as dateOfBirth 
from yourtable 
where dob = (select max(dob) from yourtable) 
+0

他希望学生,而不仅仅是他们的dob。 –

+0

你是对的:)我发布的查询是通过dob找到最年轻的,它可以很容易地用作选择名称的条件。 –

+0

此查询将显示最老的学生,而不是最年轻的!不是吗? –

5

您可以通过降序排列表出生日期然后过滤仅第一个结果,这在SQL Server中可以用

select top 1 * 
from yourTable 
order by DOB desc 
0

这是sim PLE。根据你给定的数据“nk”是最年轻的学生,所以你可以使用下面的查询:

select * from yourtable 
    where dob = (select max(dob) from yourtable)