最近做报表统计,用到要求把近两个月的绩效作比较,并作出一些环比数据等。

场景:将1班同学的两个月的语文的平均成绩合并到一行比较。

CREATE TABLE `Chinese_score` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(64) NOT NULL,

`score` int(11),

`date` varchar(6),

PRIMARY KEY (`id`)

)

插入几条同学们两个月的成绩:

mysql> insert into chinese_score value(null,'张三',91,'201506');

mysql> insert into chinese_score value(null,'李四',88,'201506');

mysql> insert into chinese_score value(null,'老王',80,'201506');

mysql> insert into chinese_score value(null,'祥子',77,'201506');

mysql> insert into chinese_score value(null,'张三',89,'201507');

mysql> insert into chinese_score value(null,'李四',85,'201507');

mysql> insert into chinese_score value(null,'老王',79,'201507');

mysql> insert into chinese_score value(null,'祥子',82,'201507');

查询近两个月的语文平均成绩和总成绩作比较:

mysql> select avg(if(date='201506',score,null)) avg06, avg(if(date='201507',score,null)) avg07, sum(if(date='201506',score,null)) sum06, sum(if(date='201507',score,null)) sum07 from chinese_score;

+---------+---------+-------+-------+

| avg06 | avg07 | sum06 | sum07 |

+---------+---------+-------+-------+

| 84.0000 | 83.7500 | 336 | 335 |

+---------+---------+-------+-------+

1 row in set

avg(if(date='201506',score,null))的效果等于:

if():如果date的值为201506,那么将这条记录的score加入到avg(score)中,否则为null。

MSSQL-字符串分离与列记录合并成一行混合使用

一般我们在数据库的表字段存储字典Id,如果有多个的话一般是用,或分隔符分隔(12,14),列表显示的时候是显示字典名,那如果要在数据库将字典Id转成用户看得懂的字典名,该怎么办呢? 我们这时候可以结合 ...

MSSQL—列记录合并成一行

在项目开发中,有时会碰到将列记录合并为一行的情况,例如根据地区将人员姓名合并,或根据拼音首字母合并城市等,下面就以根据地区将人员姓名合并为例,详细讲一下合并的方法. 首先,先建一个表,并添加一些数据, ...

mysql去重, 把url重复且区为空的中去掉、统计重复数据、、结果集去重合并成一行

delete from 表名 where id not in (select d.id from (SELECT id FROM 表名 GROUP BY c1,c2,c3,c4)as d) #去重复, ...

MSSQL—列记录合并

在项目开发中,有时会碰到将列记录合并为一行的情况,例如根据地区将人员姓名合并,或根据拼音首字母合并城市等,下面就以根据地区将人员姓名合并为例,详细讲一下合并的方法. 首先,先建一个表,并添加一些数据, ...

mysql三表联合查询,结果集合并

参考: mysql 结果集去重复值并合并成一行 SQL 三表联查 数据库三表连接查询怎么做 合并: MySQL中group_concat函数 完整的语法如下: group_concat([DISTIN ...

MYSQL 两表 排除 重复记录

MySQL之——查询重复记录.删除重复记录方法大全 - 冰河的专栏 - CSDN博客https://blog.csdn.net/l1028386804/article/details/51733585 ...

MySQL 两个数据库表中合并数据

两个数据库表中合并数据 如果有  t1  和 t2 两个数据库表格,它们两个对应的字段是相同的.如何将 t2 的数据插入到t1中去呢? insert into t1 select * from t2 ...

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

两个月的Java实习结束,继续努力

前言 只有光头才能变强 2018年8月30日,今天我辞职了.在6月25号入职,到现在也有两个月时间了. 感受: 第一天是期待的:第一次将项目拉到本地上看的时候,代码很多,有非常多的模块,模块下又有da ...

随机推荐

如何牢记C/C++中const的用法?

(下面以 typename 表示C/C++内某一类型 我常常会搞混 const 放在 typename* 的前面和后面的区别,今天特地查看了它们两个各自的含义,总结了一下: const typenam ...

espcms自定义表单邮件字段

/include/inc_replace_mailtemplates.php中增加一行就可以了. 如:$replacemail['mailform'][] = array(name => '职位 ...

LINUX_source

Be careful! ./ and source are not quite the same. ./script runs the script as an executable file, la ...

【转】终于干了点正事。。三天用了三个库opencv、emgu、aforge.net[2011.7.30]

原文转自: http://blog.csdn.net/tutuguaiguai0427/article/details/6646051 这阵子,确切说这几天,还是看了好多东西的.虽然无用功居多. 上篇 ...

android LocalActivityManager说明

类概述 Helper class for managing multiple running embedded activities in the same process. This c ...

Linux 命令 - curl: transfer a URL

命令格式 curl [options] [URL...] 命令参数 -0, --http1.0 强制使用 HTTP/1.0 发送请求 -A, --user-agent 指定用户代理 -b/--cook ...

redhat nginx 启动脚本

#!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # descrip ...

Python并发编程__多进程

Python并发编程_多进程 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大 ...

java常用IO流集合用法模板

package com.fmy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import jav ...

SpringCloud入门之eclipse新建maven子项目和聚合项目

一.new maven project :  next 二.勾选 create a simple project  :  next 三.Group Id:项目的包路径 如com.test,之后创建的C ...

mysql去重合并字符串_Mysql将近两个月的记录合并为一行显示相关推荐

  1. mysql前两个月_MySQL数据库表始终保持最近两个月的记录

    实现自动备份的方法很多,这里说的是客户需要始终保持某个表中存储两个月的记录,以便保持性能.过期数据我们建议存储到另外一个表中,以备以后查询使用. 我们采用存储过程+linux Crontab的方式实现 ...

  2. MYSQL 单表一对多查询,将多条记录合并成一条记录

    MYSQL 单表一对多查询,将多条记录合并成一条记录 一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实 ...

  3. Python 编写函数实现交叉合并字符串,例如:ABCD与1234的合并结果是A1B2C3D4

    编写函数实现交叉合并字符串,例如:ABCD与1234的合并结果是A1B2C3D4 : def mergeStr(str1, str2):str3 = ""i = 0for str ...

  4. 计算机如何将两个磁盘合在一起,Win7系统如何合并磁盘分区将两个或多个合并到一起...

    Win7系统如何合并磁盘分区将两个或多个合并到一起 腾讯视频/爱奇艺/优酷/外卖 充值4折起 在重装雨林木风Win7系统之前,进行了磁盘分区,装完系统后才发现有一个磁盘只分到了17.4GB,于是就想到 ...

  5. mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...

    开源数据库MySQL从来都是中小企业构建web应用的首选,特别是和PHP配合简直就是一 对黄金搭档,深受web开发人员的喜爱.但自从4.1以来MySQL加入了多字符集的支持,很多MySQL使用者发现中 ...

  6. mysql count转字符串_MySQL字符串函数

    把字符串转成小写 mysql> select sex,LCASE(job) from string_test where job='DUCK';+------+------------+ | s ...

  7. mysql解析json字符串_Mysql解析json字符串/数组

    1 Mysql解析json字符串 解决方法:JSON_EXTRACT(原字段,'$.json字段名') 执行SQL: SELECT JSON_EXTRACT( t.result,'$.row'), J ...

  8. mysql 存储过程 长字符串_mysql存储过程瓜分字符串

    mysql存储过程分割字符串 DROP PROCEDURE IF EXISTS split_string; CREATE PROCEDURE split_string(IN to_split VARC ...

  9. 两个链接合并_如何找到两个链接列表的合并点

    两个链接合并 了解问题 (Understand the Problem) We are given two singly linked lists and we have to find the po ...

最新文章

  1. 用JSP实现学生查询
  2. filebeat向kafka传输数据,无数据现象
  3. java 简单图片浏览器_Java实现简单的图片浏览器
  4. Web存储—获取Cookie
  5. Python:Bug 官网不要了,全迁去 GitHub!
  6. 个人简历,H5动画展示,动态界面
  7. 如何快速压缩PPT文件?
  8. 【Leetcode】| Largest Number
  9. 南邮java实验_南邮JAVA程序设计实验4 线程程序设计(指针式时钟)
  10. php保存微信头像,保存访问者微信头像至服务器
  11. Druid 索引服务的资源精细化调度
  12. 第一次去江苏丹阳配眼镜注意事项⚠️
  13. 一文讲明白互联网如何去中心化
  14. [ZOJ 3054] Whirlwind [模拟]
  15. BQ76930 DSG CHG 不能输出高电平解决方法
  16. 如何使用ABBYY FineReader 14签署PDF文档
  17. 国际多语言出海商城返佣产品自动匹配订单源码
  18. 【NVIDIA Xavier NX入坑记录1】环境语言包下载、系统语言设置、Google输入法无候选输入栏的解决
  19. 微信小程序 vant webapp开发
  20. 计算机电路板 接地,PCB的接地设计,每一个工程师都应该掌握

热门文章

  1. 2-氟丙二酸二乙酯,cas685-88-1等含氟试剂,氟化试剂
  2. 《黑客与画家》——读书笔记
  3. 固态硬盘与机械硬盘两者有什么区别?应该怎样选择呢?
  4. 【智能制造】浅谈中国工业4.0的发展方向
  5. 漂流幻境服务器文件,飘流幻境 飘流幻境常用合成资料汇总
  6. C语言——结构体与共用体N0.10
  7. 【iOS与EV3混合机器人编程系列之二】工欲善其事,必先利其器(准备篇)
  8. 10.4.3 编程实例-太阳系动画
  9. Linux(5)账号和权限管理
  10. pandas 中DataFrame使用:记录抽取,随机抽样,记录合并,字段合并,字段匹配,数据的简单计算