Kelompok BMI per cabang olahraga
Anda ingin memahami bagaimana BMI berbeda pada setiap cabang olahraga musim panas. Untuk menjawabnya, susun sebuah laporan yang memuat hal-hal berikut:
- sport, yaitu nama cabang olahraga musim panas
- bmi_bucket, yang membagi BMI menjadi tiga kelompok:
<.25,.25-.30,>.30 - athletes, yaitu jumlah atlet unik
Definisi: BMI = 100 * weight / (height kuadrat).
Perhatikan juga bahwa pernyataan CASE dijalankan baris demi baris, sehingga kondisional kedua hanya diterapkan jika kondisional pertama bernilai salah. Dengan demikian, Anda tidak perlu menambahkan pernyataan AND untuk mengecualikan kondisional yang sudah disebutkan.
Silakan merujuk ke Diagram E:R.
Latihan ini adalah bagian dari kursus
Pelaporan dengan SQL
Petunjuk latihan
- Bangun kueri yang mengambil dari
summer_gamesdanathletesuntuk menampilkansport,bmi_bucket, danathletes. - Tanpa menggunakan
ANDatauELSE, buat pernyataanCASEyang membagibmi_bucketmenjadi tiga kelompok:'<.25','.25-.30', dan'>.30'. - Kelompokkan berdasarkan field yang tidak diagregasi.
- Urutkan laporan berdasarkan sport lalu athletes secara menurun.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- Pull in sport, bmi_bucket, and athletes
SELECT
____,
-- Bucket BMI in three groups: <.25, .25-.30, and >.30
CASE WHEN ____ THEN '<.25'
WHEN ____ THEN '.25-.30'
WHEN ____ THEN '>.30' END AS bmi_bucket,
____ AS athletes
FROM ____ AS s
JOIN ____ AS a
ON ____
-- GROUP BY non-aggregated fields
GROUP BY ____
-- Sort by sport and then by athletes in descending order
ORDER BY ____;