欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql查詢行轉列

黃文隆1年前11瀏覽0評論

MySQL查詢是數據庫操作的重要組成部分,為了提高查詢效率,對于數據展示的方式也要進行優化,其中之一就是將行轉列,本文將介紹如何使用MySQL來實現行轉列的操作。

首先,我們需要有一個數據表,我們假設數據表名為student,包含以下字段:

CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`subject` varchar(255) DEFAULT NULL,
`score` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

假設數據表中包含如下數據:

INSERT INTO `student` (`id`, `name`, `subject`, `score`)
VALUES
	(1, '小明', '語文', 89),
	(2, '小明', '數學', 92),
	(3, '小明', '英語', 87),
	(4, '小紅', '語文', 93),
	(5, '小紅', '數學', 95),
	(6, '小紅', '英語', 91),
	(7, '小李', '語文', 84),
	(8, '小李', '數學', 85),
	(9, '小李', '英語', 81);

如果我們想要按照姓名為關鍵字將成績進行行轉列的操作,可以使用以下SQL語句:

SELECT
	name,
	MAX(CASE subject WHEN '語文' THEN score END) AS '語文',
	MAX(CASE subject WHEN '數學' THEN score END) AS '數學',
	MAX(CASE subject WHEN '英語' THEN score END) AS '英語'
FROM
	student
GROUP BY
	name;

以上查詢語句將會將查詢結果按照姓名進行分組,然后使用CASE WHEN將每門科目對應的分數展示為一列數據,并使用MAX函數保證只有一條數據。

通過以上的SQL語句,我們就可以實現MySQL中的行轉列操作。