在做统计报表的时候,通常会用到一些复杂的统计功能,而不是简单的 count(*), sum(abc) 就可以的,这就用到了一些基于条件的统计功能。

带条件取count记录数

参考方法:

统计sub_type=’REFUND_FEE’ 的记录数:

方法一.select count(sub_type) from t where t.sub_type=’REFUND_FEE’;

方法二.select sum(if( B.sub_type=’REFUND_FEE’ ,1,0)) from t;

方法三.select count(B.sub_type=‘REFUND_FEE’ or null) from t;

解释:

当select B.sub_type=‘REFUND_FEE’ 时:

如果sub_type为REFUND_FEE则返回1,

不空且不为REFUND_FEE否则返回0,

空时返回null。

所以B.sub_type=‘REFUND_FEE’ or null 只返回sub_type=‘REFUND_FEE’ 的,其余的都返回null ,而count(列名)时是不会统计null的个数的

注:count(*)会把null的个数也统计在内

项目sql

SELECT subjectName,doctorName,count(1) AS sumNum,

count(OVERTIMES>0 or null)as overNum            //只统计OVERTIMES>0的数

from ht_personstream

WHERE 1=1

and subjectId = #{subjectId}

= #{startTime} ]]>        //mysql日期格式化

GROUP BY  doctorId,subjectId

项目sql百分数保留两位小数

SELECT

subjectName as name,

concat(convert(((SUM(OVERTIMES)/(count(1)+SUM(OVERTIMES)))*100 ),decimal(10,2)),’%’) as VALUE

FROM HT_PERSONSTREAM

where isDeleted = 0

GROUP BY subjectId,doctorId

//利用在一条语句中count出不同的条件,记录一下 ..

SELECT

SUM( goods_amount ) AS money,

count( * ) AS num,

count(if(pay_status=1,true,null)) AS success,

count(if(pay_status=2,true,null)) AS fall

FROM `tab_order_info`

WHERE user_id = 11

SUM()函数按条件求和

一般求和

select sum(money) from user group by id;

按条件求和

select sum(if(type=1,money,0)) from user group by id;

mysql的条件求和函数_mysql 带条件取count记录数,SUM()函数按条件求和相关推荐

  1. mysql 带条件取count记录数,SUM()函数按条件求和

    在做统计报表的时候,通常会用到一些复杂的统计功能,而不是简单的 count(*), sum(abc) 就可以的,这就用到了一些基于条件的统计功能. 带条件取count记录数 参考方法: 统计sub_t ...

  2. quvhu重复行MySQL,利用mysql中的SQL_CALC_FOUND_ROWS 来实现group by后的记录数统计

    最近正在做一个显示消息的列表页,列表页中需要根据一个字段来分组显示.并且需要一个分页的效果. 大家也知道group by 后的数据是每一组一行记录,统计分组后的总的记录数又不能用count,所以SQL ...

  3. mysql数据库计算全部女生_使用mysql存储过程-统计某个数据库下的所有表的记录数...

    使用 mysql 存储过程 - 统计某个数据库下的所有表的记录数 其中用到了游标 (cursor) ,循环 (loop) ,动态 SQL 预处理 (prepare) 等技术,特 此记录一下. [sql ...

  4. mysql 表 视图 索引吗_Mysql多表查询, 视图,事务,索引,函数,go连接数据库

    1.1 今日目标 理解多表查询 理解子查询 能够创建视图 能够删除视图 能够查看创建视图的SQL语句 能够理解事务的作用 能够操作事务 理解索引的作用 能够创建索引 能够删除索引 知道常用的函数 了解 ...

  5. mysql case when then 函数_MySQL case when then 语句使用和时间函数使用

    Laravel上使用: $list = Article::where('status',2)->where('category_id',$category_id) ->select(DB: ...

  6. python中sum函数的使用方法及实例_python 运行sum函数的使用

    sum(iterable[, start]) ,iterable为可迭代对象,如: sum([ ], start) , #iterable为list列表. sum(( ), start ) , #it ...

  7. mysql tables rows_MySQL数据库查看数据表占用空间大小和记录数

    MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHE ...

  8. mysql中日期判断的函数_MySql判断汉字、日期、数字的函数

    几个平常用的mysql函数 /***************************************************** 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 *** ...

  9. mysql数据库函数转义函数_MySql数据库-查询、插入数据时转义函数的使用

    最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作.虽然能看到转义函数本身的作用,但是仍然有一些 ...

最新文章

  1. 如何在存储过程中得到被调用存储过程的结果集
  2. 探讨由于死锁或进程阻塞造成的ASP突然不能访问的问题
  3. JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结
  4. 【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?
  5. HttpClient参观记:.net core 2.2 对HttpClient到底做了什么?
  6. 怎样的中奖算法能让人信服
  7. ELasticSearch安装使用过程中遇到的坑的解决方案,以及使用Kibana操作ELasticSearch
  8. 数据结构常见算法机试题
  9. 贰零零肆年拾月拾伍日
  10. chrome.storage和window.localStorage的区别
  11. matlab 音乐传奇,matlab 如何打开wav声音文件
  12. zabbix 3.2 php,zabbix3.2.3安装教程
  13. 海思HI3559和海思HI3559A的区别以及Hi3559c开发板
  14. 关于Jmeter线程数Ramp-Up.循环次数的理解和实验数据
  15. 【计算机网络 (谢希仁) 习题题解】第6章 应用层 (1)——域名系统DNS
  16. oracle 11g64 位 安装文件
  17. docker学习笔记(二)docker常用命令
  18. 大文件数据传输会遇到哪些问题?
  19. [pillow]透明图片和不透明图片叠加合成--添加透明度
  20. 【springboot中jasypt-spring-boot-starter的使用】

热门文章

  1. WindowsAPI----AttachThreadInput使用
  2. DLL注入(CreateRemoteThread方式)
  3. cuSPARSE库:(十五)已经弃用的函数(1)
  4. Linux系统Posix异步IO接口(aio.h):aio_read,aio_write,aio_error
  5. python基础其他(二十一)
  6. 网页粒子背景插件 -Canvas-nest.js
  7. Centos、Ubuntu的区别
  8. python2.7更新pip_CentOS升级Python2.6到Python2.7并安装pip
  9. 双飞翼HTML圣杯布局,关于圣杯布局与双飞翼布局的理解
  10. 在ECS系统中使用Entities.ForEach