mysql实现行转列的有哪些方法
在MySQL中,可使用CASE语句来实现行转列操作。通过使用CASE语句,可以根据区分的条件将多行数据转换为单行数据。下面是一个示例:
假定有一个名为students的表,包括以下数据:
id | name | subject |
---|---|---|
1 | Alice | Math |
2 | Bob | English |
3 | Carol | Science |
如果要将该表中的数据依照区分科目转换为单行数据,可使用以下查询语句:
SELECT
MAX(CASE WHEN subject = 'Math' THEN name ELSE NULL END) AS Math,
MAX(CASE WHEN subject = 'English' THEN name ELSE NULL END) AS English,
MAX(CASE WHEN subject = 'Science' THEN name ELSE NULL END) AS Science
FROM students;
履行以上查询后,将会得到以下结果:
Math | English | Science |
---|---|---|
Alice | Bob | Carol |
通过使用MAX函数和CASE语句,可以将多行数据转换为单行数据,实现行转列的效果。
TOP