• group by、group_concat()、if()


    group by、group_concat()、if()


    1. 现有一培训课程表,表结构如下:
    字段名 类型 长度 主键 备注
    id varchar 32
    trainName varchar 255 培训课程名称
    insideTeacher varchar 255 内部讲师姓名
    outsideTeacher varchar 255 外部讲师姓名
    insideOrOutside varcher 2 讲师型(0:内部?讲师1:外部讲师)
    1. 表中有如下数据:

    1. 现在需要获取如下格式的数据:

      |trainName|trainTeacher|

    2. 思路:

    1. 需要根据trainName对数据进行分组;
    2. 使用group_concat()方法对分组数据进行拼接;
    3. 使用if()判断使用insideTeacher还是outsideTeacher进行拼接。
    1. 实施:
    SELECT
    	t.trainName,
    	GROUP_CONCAT(
    	IF
    	( t.insideOrOutside = 0, t.insideTeacher, t.outsideTeacher )) as trainTeacher
    FROM
    	`trainteacher` t 
    GROUP BY
    	t.trainName
    
    1. 结果:
  • 相关阅读:
    PHP线程安全
    Oracle中MD5+Base64加密实现
    1002. A+B for Polynomials (25)
    1001. A+B Format (20)
    Rails,uva 514
    Database,Uva1592
    Hello World for U
    D3.js 力导向图
    从零开始CSS(一 2016/9/21)
    从零开始HTML(三 2016/9/20)
  • 原文地址:https://www.cnblogs.com/XiaoZhengYu/p/13087338.html
Copyright © 2020-2023  润新知