2017-04-21 73 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)