MySQL数据库中分组统计的问题

首先准备四张表A、B、C、D,

--------------------------------

A      | B  | C   | D

a   b   |   a   c   |   a   d   |   d   e

1   1   |   1   1   |   1   A   |   A   1

2   2   |   1   3   |   2   B   |   B   2

3   4   |   1   4   |   3   C   |   C   3

4   6   |   2   1   |   4   D   |   D   4

--------------------------------

下面我们需要用一条sql语句将A表所有的列,B表对与A表a字段相关联的列求count,通过C表,将D表与A表关联起来,得到的结果如下:

1   1   3   1

2   2   1   2

3   4   0   3

4   6   0   4

Mysql语句解决:

select A.a,A.b,IFNULL(c,0) as c,D.a

from (select 1 as a,2 as b union all

select 2 as a,2 as b union all

select 3 as a,4 as b union all

select 4 as a,6 as b) as A

left outer join

(select a,count(a) as c from(

select 1 as a,3 as c union all

select 1 as a,3 as c union all

select 1 as a,3 as c union all

select 2 as a,3 as c ) B group by a) as B

on A.a=B.a

join

(select 1 as a,'A' as d union all

select 2 as a,'B' as d union all

select 3 as a,'C' as d union all

select 4 as a,'D' as d ) as C

on A.a=C.a

join(select 1 as a,'A' as d union all

select 2 as a,'B' as d union all

select 3 as a,'C' as d union all

select 4 as a,'D' as d ) as D

on D.d=C.d

本文作者:相关阅读:

ASP3.0高级编程(二)

jQuery实现原理的模拟代码 -6 代码下载

两难的选择:充满Trick的CSS

让IE6、IE7、IE8支持CSS3的脚本

Microsoft SQL Server 2008 Express版本

JSP由浅入深(6)—— JSP声明

Linux下磁盘设备文件(sda,sdb,sdc….)变化问题

日期 时间js控件

保存CSS中的图片的几种方法

Sun&MySQL全球巡展中国站正式启动

简单的ASP分页代码(测试正确)

PHP中通过语义URL防止网站被攻击的方法分享

聊天室实现私聊(三)

AMD显卡最新Linux系统版本驱动大幅更新(图)

c mysql 统计不重复数据库,MySQL_MySQL数据库中分组统计的问题,首先准备四张表A、B、C、D, - phpStudy...相关推荐

  1. 数据库设计——将用户名和密码与用户其他信息分成两张表

    数据库设计--将用户名和密码与用户其他信息分成两张表 好处 (1)面向对象方面考虑用户信息就是用户本身,用户名和密码只是登陆钥匙. (2)性能方面考虑登陆验证的时候列较少,查询速度快. (3)安全性考 ...

  2. mysql 时间段分组统计_group by 按某一时间段分组统计并查询(推荐)

    工作中要求对日志表中的时间戳字段进行分组.分组的条件是,相隔 1分钟间隔的被分到一组. 数据库表是这样的 SELECT COUNT(log_id) AS u_count FROM logdb.`log ...

  3. java 数据库外键查询_oracle中查询所有外键引用到某张表的记录

    其实查找这篇文章  我主要用的sql 是这句  select * from user_cons_columns t where t.constraint_name like 'FK_CTS_CONT_ ...

  4. Mysql按日、周、月进行分组统计

    我们在用Mysql抽取数据时候,经常需要按照天.周.月等不同的粒度对数据进行分组统计.而我们的时间可能是"2017/12/5 0:0:0"这种准确的时间.所以在进行分组之前我们需要 ...

  5. mysql 按小时分组统计_PowerBI业务分析:按排名分组统计

    对数据进行分组统计是常用的一种分析方式,之前的文章中曾介绍了按照客户订单数量进行分组统计,Power BI 数据分析应用:客户购买频次分布这篇文章介绍一下PowerBI如何按照客户的排名进行分组统计, ...

  6. 无法打开数据库‘mysql_MySQL数据库之MYSQL无法启动解决方法

    本文主要向大家介绍了MySQL数据库之MYSQL无法启动解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在my.ini(linux下/etc/my.cnf)加上skip ...

  7. mysql 日期group_MySql 使用GROUP BY 按照日期分组统计

    SELECT DATE_FORMAT(时间字段名,'%Y-%m-%d'),count(*) FROM table where 条件 GROUP BY DATE_FORMAT(时间字段名,'%Y-%m- ...

  8. mysql date_format 按不同时间单位进行分组统计

    DATE_FORMAT(date,format)    根据format字符串格式化date值.下列修饰符可以被用在format字符串中:    %M     月名字(January--Decembe ...

  9. mysql count 去重复_mysql – 忽略COUNT中的重复行

    以下查询给出exp_judging表中有多少行的计数,字段pre中的值为1,其中exp_submissions中也有一个匹配列,member_group为5 SELECT COUNT(*) AS co ...

最新文章

  1. 千位亿万富豪调研:六成富豪担心继承人婚姻问题致财富外流
  2. 禁止微信内置浏览器调整字体大小
  3. tkinter label_tkinter做一个简易提词板
  4. bootstrap-table 列属性_Bootstrap Table 列参数columns使用总结
  5. linux7关闭开机自启,redhat7 设置开机自启
  6. java题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
  7. java调用平方函数_java中的数学计算函数的总结
  8. 推荐几个图标搜索网站
  9. MEM/MBA 写作-论说文(02)立意 知识练习
  10. 南阳oj _600花儿朵朵(树状数组插线问点+坐标离散化)
  11. MAC 笔记本快捷键使用总结
  12. 如何钓鱼(如何钓鱼的方法)
  13. Nose | 超轻的单元测试框架-精通
  14. phpstudy打不开localhost
  15. 台湾精锐APEX行星减速机直齿轮和斜齿轮有什么区别?如何选择?
  16. 广联达bim5d手机端_广联达bim5d官网版下载
  17. Linux系统克隆和快照
  18. Elsticsearch
  19. 小猪o2o生活通v16开源 小猪生活通源码 小猪cms
  20. windows常用快捷键及命令大全

热门文章

  1. CSS3技巧 —— 渐变
  2. 浅析C#的事件处理和自定义事件
  3. Linux的JVM可以从SUN网站上下载
  4. 数据库高级知识——查询截取分析(一)
  5. 数据结构——队列的C语言实现
  6. java 百度地图地址解析_百度地图Java地址解析和经纬度解析
  7. AndroidStudio 3.4更新了啥?(转载)
  8. halocn标定找旋转中心_机器人工具坐标系标定原理
  9. pytorch两种常用的学习率衰减方法
  10. 网址的bibtex格式