2016-07-14 241 views
0

如何查看?DBMS SQL數據庫查詢

問題:最老的學生每sProgram

表名是Student

欄目有:

sID, sLast, sFirst, sMI, sProgram, sGender, sAge 

的樣本數據:

sID sLast sFirst sMI sProgram sGender sAge 
------------------------------------------------------- 
001 Right Mc  D  BSIT   M  26 
002 Michael John  G  BSIT   M  22 
002 Franco James D  BSCPE  M  20 
003 Step  Ren  D  BSECE  M  22 

我想顯示BSIT最古老的學生

所需的輸出是:

001 , Right, Mc, D, BSIT, M, 26 
+0

您是否嘗試過查詢數據時,你還需要......? – Stuart

回答

2

如果你只是想要「BSID」的最古老的學生,你可以試試這個:

SELECT * 
FROM Student 
WHERE sProgram = 'BSIT' 
ORDER BY sAge DESC 
LIMIT 1 

或者,如果你希望每個sProgram的最古老的學生,你可以做這樣的:

SELECT t1.* 
FROM Student t1 
JOIN (
    SELECT sProgram, MAX(sAge) AS sAge FROM Student GROUP BY sProgram 
) t2 ON t1.sProgram = t2.sProgram AND t1.sAge = t2.sAge 
-- WHERE t1.sProgram = 'BSIT'