mysql sql行转列 mysql查询行转列函数

导读:MySQL是一种广泛使用的关系型数据库管理系统,它提供了许多强大的函数和操作符来查询数据 。其中 , 行转列函数可以将一行数据转换为多列数据 , 这在某些场景下非常有用 。本文将介绍MySQL中的行转列函数,并给出示例说明 。
1. GROUP_CONCAT函数
GROUP_CONCAT函数可以将一组数据合并成一个字符串,并用指定的分隔符分隔 。例如,我们有以下表格:
| id | name | score |
|----|-------|-------|
| 1 | Alice | 90 |
| 2 | Bob | 80 |
| 3 | Cathy | 70 |
如果我们想要将所有学生的成绩合并成一个字符串,可以使用如下语句:
SELECT GROUP_CONCAT(score SEPARATOR ',') AS scores FROM students;
结果为:
| scores |
|--------|
| 90,80,70 |
2. CASE函数
CASE函数可以根据条件返回不同的值 。我们可以利用它将一列数据转换为多列数据 。例如 , 我们有以下表格:
| id | gender | age |
|----|--------|-----|
| 1 | M | 20 |
| 2 | F | 22 |
| 3 | M | 25 |
| 4 | F | 21 |
如果我们想要将男女学生的年龄分别列出来,可以使用如下语句:
SELECT
MAX(CASE WHEN gender = 'M' THEN age END) AS male_age,
MAX(CASE WHEN gender = 'F' THEN age END) AS female_age
FROM students;
| male_age | female_age |
|----------|------------|
| 25 | 22 |
【mysql sql行转列 mysql查询行转列函数】总结:本文介绍了MySQL中的两种行转列函数,分别是GROUP_CONCAT和CASE 。它们可以帮助我们将一行数据转换为多列数据 , 提高查询效率和可读性 。

    推荐阅读