zoukankan      html  css  js  c++  java
  • [MySQL]group by 与 having 结合函数 的统计技巧

    group by 与 having 允许字段使用函数,根据函数运行的结果group by分组或having设置选择条件;

    同时group by 与 having 也允许使用字段别名

    示例表a:

    id a effective_date
    38 1 2018-03-23 09:55:58
    39 9 2018-03-22 09:56:04
    66 1 2018-02-21 09:56:09
    68 6 2018-01-13 09:56:17
    69 1 0000-00-00 00:00:00

    示例表b:

    id u_id amount t4_date
    1 39 30 2017-07-28 15:30:00
    2 66 21 2018-03-08 10:07:40
    3 69 13 2018-03-01 10:09:00

    应用示例:

    1.单表格式化分组

    SELECT sum(a) FROM test_1 GROUP BY DATE_FORMAT(effective_date,"%Y-%m");
    sum(a)
    1
    6
    1
    10

    2.单表格式化分组(使用别名)

    SELECT DATE_FORMAT(effective_date,"%Y-%m") AS date, sum(a) FROM test_1 GROUP BY date;
    date sum(a)
    0000-00 1
    2018-01 6
    2018-02 1
    2018-03 10

    3.单表格式化分组,having选择输出的行(使用别名)

    SELECT DATE_FORMAT(effective_date,"%Y-%m") AS date, sum(a) FROM test_1 GROUP BY date HAVING date = "2018-02";
    date sum(a)
    2018-02 1

    4.连表应用

    SELECT DATE_FORMAT(b.t4_date,"%Y-%m") AS date, sum(a.a) FROM test_1 AS a LEFT JOIN test_4 AS b ON a.id = b.u_id GROUP BY date HAVING date = "2018-03";
    date sum(a.a)
    2018-03 2
  • 相关阅读:
    前端开发经验总结
    开发组件的原则
    jQuery deferred对象API详解
    prototype、constructor那点事儿
    text-overflow:ellipsis的那点事儿
    9 个超实用的 jQuery 代码片段
    BFC
    Console命令详解,让调试js代码变得更简单
    前端css规范
    什么是FOUC?如何避免FOUC?
  • 原文地址:https://www.cnblogs.com/yiyide266/p/8628749.html
Copyright © 2011-2022 走看看