楼主在做一个智慧工地的产品,需要对工人进行一些数据统计,比如要统计导入人员数量小于30的工地,SQL应该怎么写呢?
  首先了解一下数据结构,工地分三张表,四级层级关系,Organization表存储区域、城市两级,Projects表存储项目,Stages表存储分期;还有一个worker表存储人员。这4张表外键分别保存的上级表的id。
  要查出工人小于30的工地大体步骤如下:
  1、找出小于30人的工地分期id;
  2、根据分期id外连接查出对应的工地全称;
  3、根据工地的4级进行分组排序。

  具体SQL如下:

SELECT
org.NAME 区域名称,
city.NAME 城市名称,
pr.projectName 项目名称,
st.stageName 分期名称,
ws.wcount 工人数量
FROM
Stages st
LEFT JOIN Projects pr ON st.projectMdid = pr.projectMdid
LEFT JOIN Organization city ON city.mdid = pr.bizOrgMdid
LEFT JOIN Organization org ON org.mdid = city.parentMdid
LEFT JOIN ( SELECT w.stageMdid stageMdid, count( * ) wcount FROM worker w WHERE w.deleteflag = GROUP BY w.stageMdid ) ws ON st.stageMdid = ws.stageMdid
WHERE
st.stageMdid IN ( SELECT w.stageMdid FROM worker w WHERE w.deleteflag = GROUP BY w.stageMdid HAVING COUNT( * ) < )
ORDER BY
org.NAME,
city.NAME,
pr.projectName

  查出的数据:

  当然了,SQL有可以优化的地方,因为只是线下查询一下,对效率没有要求,楼主就这么按照思路写的流水账。

MySQL数据库下统计记录数小于指定数值的数据的更多相关文章

  1. MySQL单表最大记录数不能超过多少?

    MySQL单表最大记录数不能超过多少? 很多人困惑这个问题.其实,MySQL本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身. 从性能角度来讲,MySQL单表数据不要 ...

  2. MySQL Limit 限定查询记录数

    MySQL Limit 限定查询记录数 MySQL LIMIT MySQL 中 LIMIT 关键字用于限定查询记录返回最大数目. 语法: ... LIMIT offset , rows 该语法中,of ...

  3. 查看mysql数据库连接数、并发数相关信息

    查看mysql数据库连接数.并发数相关信息. - caodongfang126的博客 - CSDN博客 https://blog.csdn.net/caodongfang126/article/det ...

  4. (转)查看mysql数据库连接数、并发数相关信息

    查看mysql数据库连接数.并发数相关信息 1.mysql> show status like 'Threads%';+-------------------+-------+| Variabl ...

  5. 使用jdbc将mysql数据库中的内容封装为指定对象的list集合

    使用jdbc将mysql数据库中的内容封装为指定对象的list集合 public List<User> findAll() { private JdbcTemplate template ...

  6. linux wc 的用法-linux 下统计行数、单词数、字符个数

    linux wc 的用法-linux 下统计行数.单词数.字符个数   wc : wc -l 统计有多少行 wc -w 统计有多少个单词 wc -c 统计有多少个字符

  7. python--同一mysql数据库下批量迁移数据

    最近接手些mysql数据库维护,发现mysql在批量操作方面就是个渣渣啊,比起MS SQL SERVER简直就是“不可同日而语”. 咨询了下MySQL的高手,对于数据迁移这种问题,一种处理方式就是直接 ...

  8. Windows 下统计行数的命令

    大家都知道在Linux下统计文本行数能够用wc -l 命令.比如: -bash-3.2$ cat pif_install.log | wc -l       712 但在Windows下怎样统计输出文 ...

  9. Mysql数据库的(行记录)详细操作

    在Mysql管理软件中, 可以通过sql语句中的dml语言来实现数据的操作, 包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据 ...

随机推荐

  1. 小书MybatisPlus第9篇-常用字段默认值自动填充

    本文为Mybatis Plus系列文章的第9篇,前8篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总 ...

  2. Python之filter、map、reduce函数

    简介三函数: 高阶函数:一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数. filter.map.reduce三个函数都是高阶函数,且语法都一致:filter/map/reduce(func ...

  3. DVWA SQL 注入关卡初探

    1. 判断回显 给id参数赋不同的值,发现有不同的返回信息 2. 判断参数类型 在参数后加 ' ,查看报错信息 数字型参数左右无引号,字符型参数左右有引号 4. 引号闭合与布尔类型判断 由于是字符型参 ...

  4. PHP zip_entry_close() 函数

    定义和用法 zip_entry_close() 函数关闭由 zip_entry_open() 函数打开的 zip 档案.高佣联盟 www.cgewang.com 语法 zip_entry_close( ...

  5. 珍藏多年的学习资料300G+,赶紧免费领取,从此离大神更进一步

    将时间线拉到2014     2014年的寒冬,每天早晨六点钟,都会一个弱小的身影,从学校寝室出发,走在去实习公司的路上.经过食堂边的包子铺,他会顺手买两个包子,一杯豆浆,老板也会像往常一样热情的吆喝 ...

  6. 我靠!Semaphore里面居然有这么一个大坑!

    这是why的第 59 篇原创文章 荒腔走板 大家好,我是why哥 ,欢迎来到我连续周更优质原创文章的第 59 篇. 上周写了一篇文章,一不小心戳到了大家的爽点,其中一个转载我文章的大号,阅读量居然突破 ...

  7. Chrome自动格式化Json输出

    对JSON格式的内容进行浏览和编辑,以树形图样式展现JSON文档,并可实时编辑 安装 Chrome商店 https://chrome.google.com/webstore/detail/json-h ...

  8. Python selenium爬虫实现定时任务过程解析

    现在需要启动一个selenium的爬虫,使用火狐驱动+多线程,大家都明白的,现在电脑管家显示CPU占用率20%,启动selenium后不停的开启浏览器+多线程, 好,没过5分钟,CPU占用率直接拉到9 ...

  9. JDBC回顾

    回顾JDBC,完成查询 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使 ...

  10. Unity目录结构设置

    摄像机 Main Camera 跟随主角移动,不看 UI 剧情摄像机 当进入剧情时,可以关闭 main camera,启用剧情摄像机,不看 UI UI 摄像机 看 UI Unity编辑器常用的sett ...