CREATE TABLE IF NOT EXISTS hw(
id INTEGER,
height FLOAT4,
weight FLOAT4
);
INSERT INTO hw (id, height, weight) VALUES (1, 4, 8);
INSERT INTO hw (id, height, weight) VALUES (2, 5, 2);
INSERT INTO hw (id, height, weight) VALUES (3, 2, 9);
INSERT INTO hw (id, height, weight) VALUES (4, 3, 4);
INSERT INTO hw (id, height, weight) VALUES (5, 5, 7);
INSERT INTO hw (id, height, weight) VALUES (6, 6, 3);
/*
SELECT COUNT(*) AS underweight_count
FROM hw
WHERE weight / 2.2046 / (height * 0.0254)^2 < 18.5;
*/
SELECT id, weight / 2.2046 / (height * 0.0254)^2 as bmi,
CASE
WHEN bmi < 18.5 THEN 'underweight'
WHEN bmi < 25 THEN 'normal'
WHEN bmi < 30 THEN 'overweight'
WHEN bmi < 35 THEN 'obese'
ELSE 'extremely obese'
END as type
FROM hw
ORDER BY bmi DESC, id DESC;