在日常开发的过程中,我们时长会遇到这样的数据库结构
这种结构在框架开发可以使用一对多进行直接查询,但是我们可以使用行转列来实现 创建数据表
CREATE table table_A ( name VARCHAR2(20),SUBJECT VARCHAR2(20),score NUMBER(22,0));
添加测试数据 INSERT INTO table_A (name,SUBJECT,score) VALUES ('张三','语文',60);INSERT INTO table_A (name,'数学',70);INSERT INTO table_A (name,'英语',80);INSERT INTO table_A (name,score) VALUES ('李四',90);INSERT INTO table_A (name,100);
数据库数据显示 行转列 SELECT name,MAX(CASE `SUBJECT` WHEN '数学' THEN score ELSE 0 END ) 数学,MAX(CASE `SUBJECT` WHEN '语文' THEN score ELSE 0 END ) 语文,MAX(CASE `SUBJECT` WHEN '英语' THEN score ELSE 0 END ) 英语FROM table_aGROUP BY name;
实现效果 这里可以把字段名改为英文的
以上是内存溢出为你收集整理的【MySQL】行转列全部内容,希望文章能够帮你解决【MySQL】行转列所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)