找到日期
最年轻的学生,我有如下表:找到日期
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
我怎样才能找到最年轻的学生?
看起来像你只需要诞生的最新日期(假设DOB是出生日期):
select max(dob) from yourtable
然后将查询将是:
select name as youngestStudent, dob as dateOfBirth
from yourtable
where dob = (select max(dob) from yourtable)
他希望学生,而不仅仅是他们的dob。 –
你是对的:)我发布的查询是通过dob找到最年轻的,它可以很容易地用作选择名称的条件。 –
此查询将显示最老的学生,而不是最年轻的!不是吗? –
您可以通过降序排列表出生日期然后过滤仅第一个结果,这在SQL Server中可以用
select top 1 *
from yourTable
order by DOB desc
这是sim PLE。根据你给定的数据“nk”是最年轻的学生,所以你可以使用下面的查询:
select * from yourtable
where dob = (select max(dob) from yourtable)
什么数据库。 –
重要的是,您是否使用Sql Server,Access,MySql,Oracle等,因为所有这些语句限制行的语法略有不同:“TOP”与“LIMIT”与“OFFSET/FETCH”。 –
你有什么尝试吗? – logixologist