mysql 拼列

mysql 拼列,第1张

呵,这题有点复杂,分太少了,算了,还是帮你回答吧:

mysql>SET @EE=''

mysql>SELECT @EE:=CONCAT(@EE,'SUM(IF(科目=''',科目,'''',',分数,0)) AS ',科目,',') FROM (SELECT DISTINCT 科目 FROM 表名) A

mysql>SET @QQ=CONCAT('SELECT a.学生,',LEFT(@EE,LENGTH(@EE)-1),' , b.科目数 as 参加科目数 FROM 表名 a,(select 学生,count(*) as 科目数 from 表名 group by 学生) b where a.学生=b.学生 GROUP BY a.学生')

mysql>PREPARE stmt2 FROM @QQ

mysql>EXECUTE stmt2

mysql>dellocate PREPARE stmt2

方法/步骤

打开MySQL Workbench,并连接数据库。图中显示连接数据库对话框

成功连接后,点击如图所示红色按钮,“create new Schema”,填写数据库名称如“new_schema”,点击“应用”,如图

在d出的的确认对话框中点击“应用”,如图

OK,成功创建,如图

如图 *** 作,我们开始创建表

需要填写表名(new_table),列名”id、date“和选择列的类型,以及列属性(主键),点击”应用“

7

如图所示,成功创建表,点击右键,选择“select rows”可以编辑表内容

group_contact刚好满足你的这个要求哦

数据库的结构如下:

noitem

01AA

01BB

02CC

02DD

02EE

03FF

04GG

04HH

希望将no相同的列整合为一条记录如下

noitems

01AA,BB

02CC,DD,EE

03FF

04GG,HH

MYSQL中,直接有group_contact函数了,如下:

select id,group_contact(items) from TABLE group by id


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8532058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存