Masalah:
Anda ingin menemukan baris yang menyimpan nilai numerik terkecil dalam sebuah kolom.
Contoh:
Basis data kami memiliki tabel bernama weather
dengan data pada kolom berikut:id
, city
, dan temperature
.
id | kota | suhu |
---|---|---|
1 | Houston | 23 |
2 | Atlanta | 20 |
3 | Boston | 15 |
4 | Cleveland | 15 |
5 | Dallas | 34 |
6 | Austin | 28 |
Inilah cara menemukan kota dengan suhu terendah.
Solusi:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Ini hasilnya:
id | kota | suhu |
---|---|---|
3 | Boston | 15 |
4 | Cleveland | 15 |
Diskusi:
Untuk menemukan nilai minimum kolom, gunakan MIN()
fungsi agregat; dibutuhkan nama kolom atau ekspresi untuk menemukan nilai minimum. Dalam contoh kita, subquery mengembalikan nilai minimum dalam temperature
kolom (subquery:SELECT MIN(temperature) FROM weather
). Permintaan utama menampilkan id, kota, dan suhu. Untuk hanya menampilkan baris dengan nilai minimal dalam kolom, gunakan WHERE dengan subkueri (mis., SELECT MIN(temperature) FROM weather
). Dalam klausa WHERE, tempatkan nama kolom dengan nilai relatif untuk dibandingkan dengan nilai yang dikembalikan oleh fungsi agregat di subquery (WHERE temperature = (SELECT MIN(temperature) FROM weather)
).