2016-03-22 16 views
0

Bu Sorgu ayrıca bir alt sorgu ile yazılabilir mi?Bir alt sorguya sahip en düşük değeri elde etme

Ben Ne:

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

sonucu olmalıdır Ne:

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

Bu bir ödev veya test sorusu mu? Birleştirilmiş bir alt sorgu ve bir "MIN()" kümesiyle yazılabilir, ancak "LIMIT" ile "lifeExpectancy" siparişi verdiğiniz sorgu muhtemelen daha hızlıdır. –

+0

test sorusu :) – Skupaj

+1

Buraya bir ödev, sınav veya mülakat sorusu getirirken, lütfen sorunuzda şeffaf olun. Birçoğunuz, eğer takılı kalmanız durumunda size yardımcı olmaktan mutluluk duyar, çözüme ulaşma teşebbüsüne dair sağlam kanıtlar verilir, ancak toplum cevaplama hizmeti olarak kabul edilmekten hoşlanmaz. –

cevap

0

Emin: yine de birden fazla ülke payı vardır durumunda LIMIT 1 ihtiyaç

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

maksimum yaşamExpectancy. Bu

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

Burada çok tuhaf oluyor, bu bana verdi: Andorra - 83.5 – Skupaj

+0

teşekkürler teşekkürler! – Skupaj

0

Kullanımı: lifeExpectancy en az maksimum benzersiz olduğu bilinen ya da ilk etapta bir beraberlik olduğunda birden çok satır dönen Tamam ise, LIMIT 1 atlayabilirsiniz

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

Yaş doğru ama ülke değil. Bu bana Aruba verir - 37.2 – Skupaj

İlgili konular