2016-11-16 13 views
0

私はこの学生TABLEがあるとします。同じ列の比較値、異なる行 - MySQLの

ID   Name    Age 
1   Billy    11 
2   Ben    15 
3   Ivy    21 
4   Alice    30 
5   Don    69 

にはどうすれば最大の年齢を持っている人を選択しますか?年齢が最も低い人をどうやって得るのですか?これは可能ですか?何百もの行が好きなら、これも可能ですか?

出力は次のようにする必要があります

ID   Name    Age 
5   Don    69 

私は本当にあなたの助けを必要としています。何か案は?

+0

どのようなクエリを試しましたか?最初に調べてから尋ねてみてください。さもなければ、コピー貼りを除いて何も学ばないでください。 –

+0

私は尋ねる前に調べましたが、私が欲しいものは見つけられません。だから私は – RyuggaHideki

+0

と決めたのですが、slqの – Seti

答えて

0

最大の年齢で学生を取得する1つの方法は、サブクエリを使用することです:

SELECT * 
FROM Student 
WHERE Age = (SELECT MAX(Age) FROM Student) 

ここにデモ:

SQLFiddle

別のオプションは、LIMITとともにORDER BYを使用することです:

SELECT * 
FROM Student 
ORDER BY Age DESC 
LIMIT 1 

更新:

@strawberryが指摘したように、これらの2つのクエリは、厳密に同一ではありません。最初のクエリでは、すべての生徒に最大年齢を返します。これは、最年長の生徒のためのネクタイでなければなりません。ただし、2番目のクエリでは、結合した場合でも、単一のレコードのみが返されます。

+0

しかし、これらの2つのクエリは同等ではありません。 – Strawberry

+0

@Strawberryありがとう私は私の答えを更新しました。 –

+0

あなたは大歓迎です! – Strawberry

関連する問題