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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)