美文网首页
关于统计查询的sql

关于统计查询的sql

作者: _Sisyphus | 来源:发表于2018-04-23 13:09 被阅读0次

查询还款表中的三种支付方式每个使用的数量

  • 表名:receive
  • 字段名:payment_type 1=连连、2=支付宝、3=手工
  • 总行数 130721:连连71255、支付宝59396、手工70
  1. 方法一:使用GROUP BY 【70ms】
    SELECT payment_type AS '还款方式',COUNT(payment_type) AS '数量' FROM receive
    GROUP BY payment_type

  2. 方法二:使用嵌套的SELECT 【100~110ms】
    在每个 SELECT子句 中统计一个条件下的数据,然后用一个 主SELECT 把这些统计数据整合起来

     SELECT
       (SELECT COUNT(*) FROM `receive` WHERE `payment_type` =1) AS `连连`,
       (SELECT COUNT(*) FROM `receive` WHERE `payment_type` =2) AS `支付宝`,
       (SELECT COUNT(*) FROM `receive` WHERE `payment_type` =3) AS `手工`
    
  3. 方法三:使用CASE WHEN: 【60ms】
    这里的COUNT和CASE WHEN联合使用,做到了分类计数。先使用CASE WHEN,当满足条件时,将字段值设置为 1, 不满足条件时,将字段值设置为NULL,接着COUNT函数仅对非NULL字段进行计数

     SELECT 
       COUNT( CASE WHEN `payment_type` =1 THEN 1 ELSE NULL END ) AS `连连`, 
       COUNT( CASE WHEN `payment_type` =2 THEN 1 ELSE NULL END ) AS `支付宝`, 
       COUNT( CASE WHEN `payment_type` =3 THEN 1 ELSE NULL END ) AS `手工`
     FROM `receive`
    

相关文章

  • 关于统计查询的sql

    查询还款表中的三种支付方式每个使用的数量 表名:receive 字段名:payment_type 1=连连、...

  • ThinkPHP查询

    查询方式 表达式查询 快捷查询 区间查询 组合查询 统计查询 动态查询 SQL查询 ThikPHP支持原生SQL查...

  • SQL Server 统计信息

    统计信息是如何提高SQL Server查询性能的?统计直方图用作在查询执行计划中查询优化器的选择依据。如果一个查询...

  • Nginx日志安全分析脚本

    功能 统计Top 20 地址 SQL注入分析 SQL from查询统计 常见扫描器、黑客工具分析 漏洞利用检测 敏...

  • SQL-统计查询

  • MySQL基础语法

    SQL语句 完整的查询 基本查询(以students为例说明) 聚合函数 (快速得到统计数据) 分组查询group...

  • 在 Apex 中使用合并统计查询

    SOQL 中的合并统计查询 在 SOQL 中,我们可以使用一系列函数来进行合并统计查询。它们的功能和标准 SQL ...

  • Elasticsearch 聚合查询(aggs)基本概念 ---

    ES中的聚合查询,类似SQL的SUM/AVG/COUNT/GROUP BY分组查询,主要用于统计分析场景。 下面先...

  • SQL统计在线人数、最大并发人数

    网上的一些统计sql统计不准确,在出现start_time相同的情况下,会统计出错,现修改如下: 子查询里面的统计...

  • 封装webSQL(六)封装 统计和查询

    下一步要做什么呢?要为分页做准备,首先实现统计和查询的功能。 sql 封装 统计功能比较简单,只是需要处理一下查询...

网友评论

      本文标题:关于统计查询的sql

      本文链接:https://www.haomeiwen.com/subject/scgklftx.html