Latihan 1 dari materi Window Functions di SQL — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Pakai window function ROW_NUMBER() untuk memberi nomor urut gaji karyawan di tiap departemen, gaji tertinggi dapat nomor 1.
Tabel employees berisi 5 karyawan: Budi (IT, 5.000.000), Siti (IT, 8.000.000), Andi (IT, 6.500.000), Dewi (HR, 7.000.000), Rizky (HR, 4.500.000).
Di kode awal, ganti baris komentar -- tulis window function di sini sebagai kolom rank dengan ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank.
SELECT name, department, salary, (dengan komanya), FROM employees dan ORDER BY department ASC, rank ASC sudah ada di kode awal, biarkan.
Yang dicek:
hasilnya 5 baris, satu per karyawan,
ada kolom bernama rank,
kolom name di baris pertama = Dewi (HR datang sebelum IT, dan gaji Dewi tertinggi di HR),
query-mu memakai ROW_NUMBER(), RANK() atau DENSE_RANK() yang langsung diikuti OVER (.
Hint
Nomor urutnya dihitung window function, jadi tiap karyawan tetap satu baris dan dapat satu kolom tambahan bernama rank.
Bentuknya ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) AS rank. PARTITION BY department bikin nomornya mulai lagi di tiap departemen, ORDER BY salary DESC bikin gaji tertinggi dapat 1.
SELECT name, department, salary, ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank FROM employees ORDER BY department ASC, rank ASC;
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...