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

最新文章

  1. 轻量的、可自定义 CSS 的 Lightbox 相册插件
  2. PHP debug 环境配置
  3. CENTOS 下 编译安装 tesseract-ocr 3.0.4 识别文字
  4. little's law(律特法则)
  5. mvc5入门,经典教程。。
  6. 01_JavaMail_04_带附件邮件的发送
  7. 小技巧-Try Catch
  8. jQeury学习笔记
  9. 探索WebKit核心(一)------ 新秀开始
  10. java+sql 编码 UTF-8、ISO-8859-1、GBK
  11. java高级---->Thread之ScheduledExecutorService的使用
  12. Dojo框架:误解与现实[转载]
  13. java多线程快速入门(十)
  14. EM学习-思想和代码
  15. 开源软件License汇总
  16. 微信小程序——时间戳的转换及调用
  17. POJ 2104 K-th Number(主席树模板题)
  18. Java并发编程--1.Thread和Runnable
  19. json数据的用法
  20. Jetty源码学习-编译Jetty源码二三事

热门文章

  1. js 格式化时间
  2. 四十一、Linux 线程——线程同步之条件变量
  3. JS算法练习四
  4. 关于mirai的一些研究
  5. github上face_recognition工程项目实践
  6. JQuery常见事件
  7. sql-connectionStrings
  8. Day19-File操作-创建 删除,文件过滤
  9. Aizu - 2200 Mr. Rito Post Office
  10. python模块-----pymysql