在MySQL中統計及格的男女人數是一項非常基礎和實用的操作。下面我們來介紹如何使用MySQL實現這個操作。
-- 創建學生成績表 CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `gender` varchar(10) NOT NULL, `score` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 插入測試數據 INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小明', '男', 70); INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小紅', '女', 80); INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小剛', '男', 60); INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小麗', '女', 90); INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小李', '男', 65); INSERT INTO `score` (`name`, `gender`, `score`) VALUES ('小芳', '女', 85); -- 統計及格的男女人數 SELECT SUM(CASE WHEN gender = '男' AND score >= 60 THEN 1 ELSE 0 END) AS '及格男生人數', SUM(CASE WHEN gender = '女' AND score >= 60 THEN 1 ELSE 0 END) AS '及格女生人數' FROM score;
以上代碼中,首先我們通過CREATE TABLE語句創建了一個學生成績表。然后使用INSERT INTO語句插入了一些測試數據。最后使用SELECT語句根據性別和成績條件,分別統計了及格的男女人數。
在SELECT語句中,我們通過CASE WHEN語句分別計算了及格的男女人數。當滿足條件時,就返回1,不滿足就返回0。最后使用SUM函數將滿足條件的數值累加,就得到了及格的男女人數。