Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
38 gösterim
Bir maaş bilgileri olan veri tabanında tablom var. Burada kişilerin en yüksek ikinci ve üçüncü en büyük maaşlarını almak istiyorum. Nasıl bir SQL ile yapabilirm bu işlemi?
Veri Tabanı kategorisinde (1.6k puan) sordu

1 cevap

0 oy
 
En İyi Cevap

http://www.geeksforgeeks.org/sql-query-to-find-second-largest-salary/

sitesinden bir örnek güzelce anlatılmış geldi ; İkinci en yükseği bulurken, en yüksekten küçük olan maksimum değeri bulmak olacaktır hedef.

SELECT name, MAX(salary) AS salary
  FROM employee
 WHERE salary < (SELECT MAX(salary)
                 FROM employee); 

Üçüncü en büyük maaş ise, yukardaki select 2.en yüksek değeri buluyorsa, bundan küçük maksimum değeri bulmak bu sefer hedef.

Kırmızılı query en yüksek olanı bulmaya yarar, ikinci kısım ise koyu siyahlı: 2. max değeri bulduğumuz kısımdı. Bu değerden küçük olan maksimium değeri bulabilmek için ikisini birleştirip;

SELECT name, MAX(salary) AS salary
  FROM employee
 WHERE salary < (SELECT MAX(salary) 
                 FROM employee
                 WHERE salary < (SELECT MAX(salary)
                                   FROM employee)
                ); 
(1.6k puan) cevapladı

İlgili sorular

0 oy
1 cevap 35 gösterim
0 oy
1 cevap 64 gösterim
0 oy
1 cevap 45 gösterim
0 oy
1 cevap 24 gösterim
0 oy
1 cevap 29 gösterim
...