Mengakses nilai dari baris berikutnya
Dengan fungsi LEAD(), Anda dapat mengakses data dari baris selanjutnya dalam kueri yang sama tanpa menggunakan pernyataan GROUP BY. Dengan cara ini, Anda dapat dengan mudah membandingkan nilai dari daftar yang diurutkan.
Sintaksnya adalah:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
Dalam latihan ini, Anda akan membiasakan diri membandingkan nilai dari baris saat ini dengan nilai dari baris berikutnya.
Anda akan memilih informasi tentang pemilih dari Prancis dan mengurutkan hasil berdasarkan total suara, dalam urutan menaik. Tujuannya adalah menganalisis bagaimana jumlah suara dari setiap pemilih dibandingkan dengan jumlah suara yang tercatat untuk orang berikutnya dalam daftar.
Latihan ini adalah bagian dari kursus
Fungsi untuk Memanipulasi Data di SQL Server
Petunjuk latihan
- Buat kolom baru yang menampilkan jumlah suara yang tercatat untuk orang berikutnya dalam daftar.
- Buat kolom baru berisi selisih antara
total_votespemilih saat ini dan suara milik orang berikutnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
SELECT
first_name,
last_name,
total_votes AS votes,
-- Select the number of votes of the next voter
___(___) OVER (___ total_votes) AS votes_next_voter,
-- Calculate the difference between the number of votes
LEAD(___) ___ (ORDER BY ___) - total_votes AS votes_diff
FROM voters
WHERE country = 'France'
ORDER BY total_votes;