Heim > Datenbank > MySQL-Tutorial > Hauptteil

MYSQL 横向展示数据_MySQL

WBOY
Freigeben: 2016-06-01 13:11:31
Original
1749 Leute haben es durchsucht

最近准备面试题,想之前面试过一家公司时遇到一个SQL题,横向展示一个表中数据,当时没写出现写下总结,以免忘记。

-- ------------------------------ Table structure for `t_subject`-- ----------------------------DROP TABLE IF EXISTS `t_subject`;CREATE TABLE `t_subject` (  `id` int(11) NOT NULL DEFAULT '0',  `name` varchar(255) DEFAULT NULL,  `subject` varchar(255) DEFAULT NULL,  `results` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of t_subject-- ----------------------------INSERT INTO `t_subject` VALUES ('1', '小明', '语文', '50');INSERT INTO `t_subject` VALUES ('2', '小明', '数学', '20');INSERT INTO `t_subject` VALUES ('3', '小乐', '英语', '122');INSERT INTO `t_subject` VALUES ('4', '小乐', '语文', '500');INSERT INTO `t_subject` VALUES ('5', '小二', '数学', '100');
Nach dem Login kopieren

有一张表,表中包含一个三个人有三个科目。

SELECT     t.name ,     SUM(          IF (               t.subject = '语文',               t.results,               0          )     ) AS '语文',     SUM(          IF (               t.subject = '数学',               t.results,               0          )     ) as '数学',     SUM(          IF (               t.subject = '英语',               t.results,               0          )     ) as '英语'FROM     t_subject tGROUP BY (t.name);
Nach dem Login kopieren

执行结果如下:

MYSQL 横向展示数据_MySQL

当时很好奇为什么需要加SUM函数进行求和,去掉之后执行SQL如下

MYSQL 横向展示数据_MySQL

初步分析如果不加此函数SQL执行默认只会对进行分组后的数据进行统计

SELECT	*FROM	t_subject tGROUP BY t.name;
Nach dem Login kopieren

MYSQL 横向展示数据_MySQL

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage