對于MySQL數據庫表中的數據,有時需要把多列的數據累加到一列中,這可以使用函數實現。
UPDATE 表名 SET 目標列 = 列1 + 列2 + 列3;
其中,UPDATE
表示更新表操作,表名
表示需要更新的表名,目標列
表示需要累加數據的列名,列1
、列2
、列3
分別表示需要累加的列。
例如,有一個學生表student
,其中包含學生的姓名、語文、數學、英語成績。
CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `score_chinese` double(5,2) NOT NULL DEFAULT '0.00' COMMENT '語文成績', `score_math` double(5,2) NOT NULL DEFAULT '0.00' COMMENT '數學成績', `score_english` double(5,2) NOT NULL DEFAULT '0.00' COMMENT '英語成績', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
現在需要把每個學生的語文、數學、英語成績累加到總成績列score_total
中。
UPDATE student SET score_total = score_chinese + score_math + score_english;
執行以上語句后,student
表的數據將變為:
id | name | score_chinese | score_math | score_english | score_total ----|------|---------------|------------|---------------|------------- 1 | 張三 | 85.5| 90 | 80.5| 256 2 | 李四 | 90| 92.5 | 85| 267.5
可以看到,每個學生的總成績都累加到了score_total
列中。
下一篇mysql幾十萬的數據