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 merupakan bagian dari kursus
Pelaporan dengan SQL
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
-- 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 ____;