2016-03-22 5 views
0

このクエリをサブクエリでも記述できますか?私が持っているものサブクエリで最小値を取得

:結果はどうあるべきか

SELECT name, lifeExpectancy from country 
WHERE lifeExpectancy IS NOT NULL 
ORDER BY lifeExpectancy ASC 
LIMIT 1 

name  | lifeExpectancy 
------------------------- 
Zambia |   37.2 
+0

これは割り当てかテストの質問ですか?これは結合されたサブクエリと 'MIN()'集合体で書くことができますが、 'lifeExpectancy'と' LIMIT'を並べ替えたクエリはおそらく速いでしょう。 –

+0

試験問題:) – Skupaj

+1

ここで課題、試験、または面接の質問をするときは、あなたの質問でそれについて透明にしてください。私たちの多くは、あなたが困っている場合は、それを解決しようとした確かな証拠を与えて、あなたを支援してくれることを喜んでしますが、コミュニティは回答サービスとして扱われたくありません。 –

答えて

0

確か:

SELECT name, lifeExpectancy from country 
WHERE lifeExpectancy = (SELECT MIN(lifeExpectancy) FROM country) 
LIMIT 1 

あなたはまだ、複数の国が共有がある場合にはLIMIT 1を必要とします最大寿命期待値。 lifeExpectancyは、少なくとも最大のため、一意であることが知られている、またはあなたが最初の場所のためのタイがあるとき、あなたはLIMIT 1を省略することができ、複数の行を返すとOKですされている場合:

SELECT name, lifeExpectancy from country 
WHERE lifeExpectancy = (SELECT MIN(lifeExpectancy) FROM country) 
+0

ここはとても奇妙になります、これは私に与えます:アンドラ - 83.5 – Skupaj

+0

ありがとう、第2の作品! – Skupaj

0

使用この:

SELECT name, MIN(lifeExpectancy) AS lifeExpectancy from country; 
+0

年齢は正確ですが、国はありません。これは私にアルーバを与えます - 37.2 – Skupaj

関連する問題