最年輕的學生,我有如下表:找到日期
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
我怎樣才能找到最年輕的學生?
最年輕的學生,我有如下表:找到日期
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