首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql查询结果行转换为列

将mysql查询结果行转换为列
EN

Stack Overflow用户
提问于 2016-10-13 15:31:43
回答 1查看 95关注 0票数 0

我有一个名为gps_stdnt_subj_xref的mysql表,示例数据和表格式如下所示。

代码语言:javascript
复制
gps_subj_id  gps_subject    gps_class   gps_subject_status

3            English        class_01    Y
10           EVS            class_01    Y
1            Maths          class_01    Y
11           EVS            class_02    Y
7            Maths          class_02    Y
12           EVS            class_03    Y
2            Maths          class_03    Y
13           EVS            class_04    Y
8            Maths          class_04    Y
5            English        class_05    Y
14           EVS            class_05    Y
9            Maths          class_05    Y
6            English        class_07    Y
4            English        class_12    Y

是否可以将表格数据转换为以下格式?

代码语言:javascript
复制
class           subject      subject    subject

class_01        English      EVS        Maths
class_02        Evs          Maths
class_03        EVS          Maths
clsss_12        English
EN

回答 1

Stack Overflow用户

发布于 2016-10-13 15:58:05

下面是我能找到的最接近你的要求的方法:

代码语言:javascript
复制
    SELECT   gps_class,
        GROUP_CONCAT(IF( gps_subject='English',gps_subject,NULL))
        AS `eng_subject`,
        GROUP_CONCAT(IF(gps_subject='EVS' ,gps_subject,NULL))
        AS `evs_subject`,
        GROUP_CONCAT(IF(gps_subject='Maths',gps_subject,NULL))
        AS `maths_subject`
    FROM     gps_stdnt_subj_xref
    GROUP BY gps_class
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40014875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档