当前位置: 首页 > news >正文

企业网站建设需要多少钱知乎dedecms 音乐网站模板

企业网站建设需要多少钱知乎,dedecms 音乐网站模板,速升网网站是多少钱,有什么做房屋装修的网站行转列方法总结1、使用case…when…then2、使用SUM(IF()) 生成列3、使用SUM(IF()) 生成列 WITH ROLLUP 生成汇总行4、使用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total5、使用SUM(IF()) 生成列#xff0c;直接生成汇总结果#xff0c;不再利用…行转列方法总结1、使用case…when…then2、使用SUM(IF()) 生成列3、使用SUM(IF()) 生成列 WITH ROLLUP 生成汇总行4、使用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total5、使用SUM(IF()) 生成列直接生成汇总结果不再利用子查询环境准备建表语句 初始化数据-- house.base_score definitionCREATE TABLE base_score (id int NOT NULL AUTO_INCREMENT,userid varchar(20) NOT NULL COMMENT 用户id,subject varchar(20) DEFAULT NULL COMMENT 科目,score double DEFAULT NULL COMMENT 成绩,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8;--- 插入数据INSERT INTO base_score(userid,subject,score) VALUES (001,语文,90); INSERT INTO base_score(userid,subject,score) VALUES (001,数学,92); INSERT INTO base_score(userid,subject,score) VALUES (001,英语,80); INSERT INTO base_score(userid,subject,score) VALUES (002,语文,88); INSERT INTO base_score(userid,subject,score) VALUES (002,数学,90); INSERT INTO base_score(userid,subject,score) VALUES (002,英语,75.5); INSERT INTO base_score(userid,subject,score) VALUES (003,语文,70); INSERT INTO base_score(userid,subject,score) VALUES (003,数学,85); INSERT INTO base_score(userid,subject,score) VALUES (003,英语,90); INSERT INTO base_score(userid,subject,score) VALUES (003,政治,82);使用case…when…then 实现行转列-- 通过case...when...then 实现行记录转列记录 SELECT userid, SUM(CASE subject WHEN 语文 THEN score ELSE 0 END) as 语文, SUM(CASE subject WHEN 数学 THEN score ELSE 0 END) as 数学, SUM(CASE subject WHEN 英语 THEN score ELSE 0 END) as 英语, SUM(CASE subject WHEN 政治 THEN score ELSE 0 END) as 政治 FROM base_score GROUP BY userid使用SUM(IF()) 生成行转列-- 使用sum(if) 实现行记录转列记录 SELECT userid, SUM(IF(subject语文,score,0)) as 语文, SUM(IF(subject数学,score,0)) as 数学, SUM(IF(subject英语,score,0)) as 英语, SUM(IF(subject政治,score,0)) as 政治 FROM base_score GROUP BY userid温馨提示1SUM() 是为了能够使用GROUP BY根据userid进行分组因为每一个userid对应的subject语文的记录只有一条所以SUM() 的值就等于对应那一条记录的score的值。假如userid ‘001’ and subject‘语文’ 的记录有两条则此时SUM() 的值将会是这两条记录的和同理使用Max()的值将会是这两条记录里面值最大的一个。但是正常情况下一个user对应一个subject只有一个分数因此可以使用SUM()、MAX()、MIN()、AVG()等聚合函数都可以达到行转列的效果。2IF(subject‘语文’,score,0) 作为条件即对所有subject语文’的记录的score字段进行SUM()、MAX()、MIN()、AVG()操作如果score没有值则默认为0。使用SUM(IF()) 生成列 WITH ROLLUP 生成汇总行-- 使用rollup 生成汇总记录SELECT userid,IFNULL(subject,total) AS subject,SUM(score) AS scoreFROM base_scoreGROUP BY userid,subjectWITH ROLLUPHAVING userid IS NOT NULL-- 使用sum(if) 实现行记录转列记录 WITH ROLLUP 生成汇总行SELECT IFNULL(userid,total) AS userid, SUM(IF(subject语文,score,0)) as 语文, SUM(IF(subject数学,score,0)) as 数学, SUM(IF(subject英语,score,0)) as 英语, SUM(IF(subject政治,score,0)) as 政治, SUM(IF(subjecttotal,score,0)) AS 总计 FROM (SELECT userid,IFNULL(subject,total) AS subject,SUM(score) AS scoreFROM base_scoreGROUP BY userid,subjectWITH ROLLUPHAVING userid IS NOT NULL ) as tmp GROUP BY userid WITH ROLLUP;使用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total-- 利用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total SELECT userid, SUM(IF(subject语文,score,0)) AS 语文, SUM(IF(subject数学,score,0)) AS 数学, SUM(IF(subject英语,score,0)) AS 英语, SUM(IF(subject政治,score,0)) AS 政治, SUM(score) AS TOTAL FROM base_score GROUP BY userid UNION SELECT TOTAL, SUM(IF(subject语文,score,0)) AS 语文, SUM(IF(subject数学,score,0)) AS 数学, SUM(IF(subject英语,score,0)) AS 英语, SUM(IF(subject政治,score,0)) AS 政治, SUM(score) FROM base_score利用SUM(IF()) 生成列直接生成结果不再利用子查询-- 利用SUM(IF()) 生成列 with rollup 汇总列直接生成结果不再利用子查询 SELECT userid, SUM(IF(subject语文,score,0)) AS 语文, SUM(IF(subject数学,score,0)) AS 数学, SUM(IF(subject英语,score,0)) AS 英语, SUM(IF(subject政治,score,0)) AS 政治, SUM(score) AS TOTAL FROM base_score GROUP BY userid WITH ROLLUP;列转行方法总结环境准备建表语句 初始化数据CREATE TABLE base_score1(id INT(11) NOT NULL auto_increment,userid VARCHAR(20) NOT NULL COMMENT 用户id,cn_score DOUBLE COMMENT 语文成绩,math_score DOUBLE COMMENT 数学成绩,en_score DOUBLE COMMENT 英语成绩,po_score DOUBLE COMMENT 政治成绩,PRIMARY KEY(id) )ENGINE INNODB DEFAULT CHARSET utf8;INSERT INTO base_score1(userid,cn_score,math_score,en_score,po_score) VALUES (001,90,92,80,0); INSERT INTO base_score1(userid,cn_score,math_score,en_score,po_score) VALUES (002,88,90,75.5,0); INSERT INTO base_score1(userid,cn_score,math_score,en_score,po_score) VALUES (003,70,85,90,82);select * from base_score1SELECT userid,语文 AS course,cn_score AS score FROM base_score1 UNION ALL SELECT userid,数学 AS course,math_score AS score FROM base_score1 UNION ALL SELECT userid,英语 AS course,en_score AS score FROM base_score1 UNION ALL SELECT userid,政治 AS course,po_score AS score FROM base_score1拓展UNION与UNION ALL的区别对重复结果的处理UNION会去掉重复记录UNION ALL不会对排序的处理UNION会排序UNION ALL只是简单地将两个结果集合并效率方面的区别因为UNION 会做去重和排序处理因此效率比UNION ALL慢很多
http://www.w-s-a.com/news/145186/

相关文章:

  • 网站切换图片做背景怎么写外贸营销邮件主题一般怎么写
  • 基于html5的网站开发wordpress主题工具
  • php网站开发的成功经历公司网站现状
  • 软件发布网站源码中国企业公示信息网
  • flash 的网站网站型销售怎么做
  • 营销型网站单页网站的域名和密码
  • 建网站保定seo自动发布外链工具
  • 做公众号关注网站做课件用这15大网站
  • 怎么制作公司自己网站店铺设计软件手机版
  • 深圳网站关键词优化公司哪家好怎么选择锦州网站建设
  • 标准网站优势项目合作网站
  • 无人机东莞网站建设wordpress站群管理破解版
  • 深圳企业官网网站建设教育培训学校
  • 医疗网站建设及优化西安网站建设开发公司
  • 网站建设详细流程ydg wordpress theme
  • 湖北黄石域名注册网站建设编程网站项目做哪个比较好
  • 旺道网站排名优化咸阳建设网站
  • 建设一个类似淘宝的网站律师做推广宣传的网站
  • 东阳网站建设方案网站建设asp
  • 模板网站建设一条龙平面设计师招聘信息
  • 制作一个网站流程企业建设网站的母的
  • 九州建网站网页游戏平台代理
  • 培训课程网站网上下载的网站模板怎么用
  • 重庆山艺网站建设塘厦理工学校
  • 做网站的人叫什么软件玩具网站设计
  • 网站说服力营销型网站策划 pdf深圳有什么公司名称
  • 做物流的可以在那些网站找客户男生晚上正能量你懂我意思
  • 宁德市城乡住房建设厅网站教育机构logo
  • 做定制网站价格有网站了怎么做app
  • 做网站和制作网页的区别北京朝阳区最好的小区