一道sql笔试题

来源:互联网 发布:大闹天宫武器进阶数据 编辑:程序博客网 时间:2024/05/17 21:42
 现有表T1,(字段1   char(20),字段2   varchar(100).
      ----------------------
      字段1             字段2
      ----------------------
        1                   '内容1 '
        1                   '内容2 '
        1                   '内容3 '
        2                   '内容1 '
        2                   '内容2 '    

      =========================================
      想通过一条sql语句实现如下结果:
      ------------------------------
      字段1             内容
      -------------------------------
      1                   '内容1内容2内容3 '

      2                   '内容1内容2 '


答:

在mysql中利用group_concat()

表emp

id myname
1
1
1
2
2
3

sql

SELECT ID, GROUP_CONCAT(myname SEPARATOR '') AS contentFROM empGROUP BY id;


结果

IDcontent
1 我是谁
2 知道
3

附录:mysql中group_concat的用法

GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DESC] [,col_name ...]] [SEPARATOR str_val])

参见http://blog.sina.com.cn/s/blog_4e808acf01009qna.html

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat