精华内容
下载资源
问答
  • 复杂sql语句:按部门统计人数

    千次阅读 2019-03-16 19:54:00
    复杂的sql语句,按部门统计人数: --按部门统计人数 SELECT o.OUGUID AS OUGUID, o.OUNAME AS OUNAME, IFNULL(COUNT(DISTINCT o.USERGUID), 0) AS USERNUM, SUM(CASE WHEN IFNULL(q.CALLTIME, 0) != 0 THEN 1 ...

    复杂的sql语句,按部门统计人数:

    --按部门统计人数
    SELECT o.OUGUID AS OUGUID, o.OUNAME AS OUNAME,
    IFNULL(COUNT(DISTINCT o.USERGUID), 0) AS USERNUM,
    SUM(CASE WHEN IFNULL(q.CALLTIME, 0) != 0 THEN 1 ELSE 0 END) AS CallNoCount, 
    SUM(CASE WHEN q.ROW_ID = '1' THEN 1 ELSE 0 END) AS QuestionCount,
    SUM(CASE WHEN q.`STATUS` = '3' THEN 1 ELSE 0 END) AS PassCount,
    SUM(CASE WHEN q.`STATUS` = '1' OR q.`STATUS` = '2' THEN 1 ELSE 0 END) AS BanjianCount
    FROM 
        (SELECT ROW_ID,`STATUS`,handleuserguid,CALLTIME FROM audit_queue UNION ALL
            SELECT ROW_ID,`STATUS`,handleuserguid,CALLTIME FROM audit_queue_history) q 
    LEFT JOIN (SELECT o.OUNAME,o.OUGUID,u.USERGUID, u.DISPLAYNAME FROM frame_user u 
                            LEFT JOIN frame_ou o ON u.OUGUID = o.OUGUID) o 
        ON q.handleuserguid = o.USERGUID 
    WHERE q.CALLTIME BETWEEN '2018-09-30 00:00:00' AND '2018-10-30 23:59:59'
    GROUP BY o.OUGUID;
    其中类似 SUM(CASE WHEN q.ROW_ID = '1' THEN 1 ELSE 0 END) AS QuestionCount 为按一定的条件计数;

    转载于:https://www.cnblogs.com/wmqiang/p/10544042.html

    展开全文
  • 1,SELECT ,COUNT() FROM dept d LEFT JOIN emp e ON d.deptno=e.deptno WHERE e.sal&...查询部门工资低于4000的人数 2, 表数据 create table tb(姓名 varchar(10),课程 varchar(10),分数 int) insert into tb val...

    在这里插入图片描述
    切记where后面不能跟直接跟聚合函数
    1,SELECT ,COUNT() FROM dept d LEFT JOIN emp e ON d.deptno=e.deptno WHERE e.sal<4000 GROUP BY d.deptno
    查询部门工资低于4000的人数
    2,
    表数据
    create table tb(姓名 varchar(10),课程 varchar(10),分数 int)
    insert into tb values(‘张三’,‘语文’,74)
    insert into tb values(‘张三’,‘数学’,83)
    insert into tb values(‘张三’,‘物理’,93)
    insert into tb values(‘李四’,‘语文’,74)
    insert into tb values(‘李四’,‘数学’,84)
    在这里插入图片描述
    利用 if语句进行行转列
    SELECT 姓名,SUM(IF(课程=“语文”,分数,0)) AS 语文,
    SUM(IF(课程=“数学”,分数,0)) AS 数学,
    SUM(IF(课程=“物理”,分数,0)) AS 物理 FROM tb GROUP BY 姓名

    – 使用case when (SQL2000以上)
    select 姓名,
    max(case 课程 when ‘语文’ then 分数 else 0 end)语文,
    max(case 课程 when '数学’then 分数 else 0 end)数学,
    max(case 课程 when '物理’then 分数 else 0 end)物理
    from tb
    group by 姓名

    员工表,查询入职满5年的员工
    员工表,查询入职满5年的员工在这里插入图片描述
    部门表
    在这里插入图片描述
    SELECT * FROM COM WHERE entry<=DATE_SUB(SYSDATE(),INTERVAL 5 YEAR);

    统计各部门的的男女员工数

    SELECT d.dname,
    SUM(CASE WHEN sex = ‘女’ THEN 1 ELSE 0 END) 女,
    SUM(CASE WHEN sex = ‘男’ THEN 1 ELSE 0 END) 男 FROM com c LEFT JOIN dept d ON d.id = c.deptId GROUP BY deptId

    还有一个方法
    SELECT d.id,d.dname,c.sex,COUNT(*) FROM com c ,dept d WHERE d.id=c.deptId GROUP BY c.deptId , c.sex
    在这里插入图片描述
    另外大家可以注意一下
    CASE WHEN sex = ‘女’ THEN 1 ELSE 0 END
    CASE 课程 when ‘语文’ then 分数 else 0 end
    这两中不同写法

    计算每门成绩不低于60分的学生姓名
    表数据
    在这里插入图片描述

    方法1:SELECT DISTINCT(NAME) FROM sc WHERE id NOT IN (SELECT DISTINCT(id) FROM sc WHERE score <60)
    方法2
    SELECT NAME FROM sc GROUP BY NAME HAVING MIN(score)>60
    查询结果
    在这里插入图片描述

    根据出生日期计算年龄
    SELECT *,TIMESTAMPDIFF(YEAR,entry,CURDATE())AS 年龄 FROM com
    在这里插入图片描述
    这是我找了好多根据出生日期计算年龄的sql,这个无疑是最优秀的一个,但是美中不足的是 当我把出生日期写成2018-11-25 11:26:51的时候计算的年龄为0,因为当前时间是2019-11-25 22:21:51这样按实际情况应该刚好一岁的,不过,把出生日期改为2018-11-24 11:26:51就是1了 也就是说有一天和实际情况不符合。如果您有更优的方案,希望不吝赐教,谢谢。

    结束语:写的可能有点乱,请见谅。各位有不明白的地方可以给我留言。我一定会即使回复的。

    展开全文
  • select sClass 班级,count(*) 班级学生总人数, sum(case when sGender=0 then 1 else 0 end) 该班级女生人数, sum(case when sGender=0 then 1 else 0 end)*1.0/count(*) 该班级女生所占比例, sum(case when sGender...

    select  sClass 班级,count(*)  班级学生总人数,
    sum(case when sGender=0 then 1 else 0 end)  该班级女生人数,
    sum(case when sGender=0 then 1 else 0 end)*1.0/count(*) 该班级女生所占比例,
    sum(case when sGender=1 then 1 else 0 end)  该班级男生人数,
    sum(case when sGender=1 then 1 else 0 end)*1.0 /count(*) 该班级男生所占比例  
    from student GROUP BY sClass ORDER BY sClass asc
     

    案例1、查询人员每日动态统计信息。包括:人员总数、人员男性数量及占比、人员女性数量及占比

      select 
         COUNT(a.JBXXBH) ZYRYZS,
         sum(case when a.XB=1 then 1 else 0 end)  ZYRYNXSL,
         CONCAT(round((sum(case when a.XB=1 then 1 else 0 end)*1.0/count(a.JBXXBH))*100,2),'%') AS ZYRYNXBL, 
         sum(case when a.XB=2 then 1 else 0 end)  ZYRYVXSL,
         CONCAT(round((sum(case when a.XB=2 then 1 else 0 end)*1.0/count(a.JBXXBH))*100,2),'%') AS ZYRYNXBL
        from V_ZD_RYJBXX a,
             V_ZD_KSSRYJBXX c
        left join V_ZD_KSSRYBDXX b on c.RYBH = b.RYBH
        where a.JBXXBH = c.JBXXBH
          and c.RYBJ = '0'

    结果

    展开全文
  • SQL语句统计男女的人数

    千次阅读 2019-01-02 11:57:51
    select sum(case when sex='男' then 1 else 0 end ) 男生人数,sum(case when sex='女' then 1 else 0 end ) 女生人数 from user; https://blog.csdn.net/csulfy/article/details/54916402  

    
    
    select sum(case when sex='男' then 1 else 0 end ) 男生人数,sum(case when sex='女' then 1 else 0 end ) 女生人数
    from user;

    https://blog.csdn.net/csulfy/article/details/54916402

     

    展开全文
  • select sClass 班级,count(*) 班级学生总人数,sum(case when sGender=0 then 1 else 0 end) 女生人数,sum(case when sGender=0 then 1 else 0 end)*1.0/count(*)女生所占比例,sum(case when sGender=1 then 1 else 0...
  • SQL中if语句统计班级党员人数

    千次阅读 2017-02-28 19:04:00
  • 下面是语句是用来统计同名同姓人的个数。非常不错。需要的朋友可以参考下。
  • select sClass 班级,count(*) 班级学生总人数, sum(case when sGender=0 then 1 else 0 end) 女生人数, sum(case when sGender=0 then 1 else 0 end)*1.0/count(*)女生所占比例, sum(case when sGender=1 then 1 ...
  • 使用Hive SQL语句统计分析

    千次阅读 2020-04-28 00:00:23
    文章目录1 多维度统计PV总量按时间维度按终端维度按栏目维度按referer维度人均浏览量统计pv总量最大的来源TOPN (分组TOP)2 受访分析(从页面的角度分析)各页面访问统计热门页面统计3 访客分析独立访客每日新访客4 ...
  • 经典面试题目:有一个学生记录的表student,形式如下: name class sex 1 a 1(男) 2 b 2(女) 3 c 1 4 a 1 5 a 2 6 a 1 …… 现要统计每个班级的男女人数,结果如下: ...
  • select DATE_FORMAT(t2.date, ‘%m-%d’) as time, count(s.user_id) as count from ws_sign_in s right join (select a.Date date from (select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as ...
  • 相同点:它们都以一张部门表(或类别表),其它表都有部门编号DepartmentID(类别编号) 案例一:一张表 select c.DepartmentID,c.DepartmentName, t.Num AS '人员数量' from T_Department as cleft join (select ...
  • 利用sql语句统计各年龄段的数量

    千次阅读 2020-03-18 14:54:16
    SELECT age_temp,COUNT(*) AS total FROM ( SELECT age, CASE WHEN age BETWEEN 10 AND 20 THEN '10-20' WHEN age BETWEEN 20 AND 30 THEN '20-30' END AS age_temp FROM t_user )AS USER GROUP BY age_temp;
  • SQL语句统计个数大于一的记录

    万次阅读 2015-01-19 10:06:18
    1、主要是利用Having语句进行,由于where不能与聚合函数一起使用,所以用having SELECT MC,COUNT(MC) AS SL FROM JSB GROUP BY MC HAVING(COUNT(MC)>1)
  • sql语句

    2019-04-03 16:46:40
    sql语句相关操作1、insert into2、UPDATE3、DELETE4、SELECT 创建表: create table emp( id int, name varchar(100), gender varchar(10), birthday date, salary float(10,2), entry_date date, resume ...
  • SQL语句

    2017-11-01 23:01:03
    sql语句主要是用于操作数据库,全名结构查询语言
  • SQL 语句

    千次阅读 2013-08-31 18:21:19
    如今各个公司对程序员的数据库知识尤其是SQL语句的掌握程度有很高的要求,作为一名光荣的程序员,不会玩儿SQL语句走在街上根本不好意思和人打招呼!好了,废话不多说。 一、SQL 基础知识 1、DDL(数据定义语言) ...
  • MySQL语句 - sql语句

    2021-06-09 02:48:19
    MySQL语句 - sql语句sql 语句介绍MySQL中如何求帮助sql 语句基本操作 sql 语句介绍 什么是sql 语句? SQL(Structure Query Language)是 结构化查询语句的缩写,它是使用关系模型的数据库应用语言,由 IBM 在 20 ...
  • SQL 统计语句

    2014-11-21 17:26:50
     from tb group by 部门,dbo.AgeLevel([出生年月]) ' exec ( @sql )  /*   部门 年龄段 本科 初中 高中 专科 ---- ---------- ----------- ----------- ----------- ----------- ...
  • 数据库语言及访问接口 SQL的特点:一体化、非过程化、面向集合操作方式、灵活的使用方式(交互式、嵌入式) 视图与表的区别与联系: View是从一个或多个表中产生...SQL语句的书写: SQL语句实例 表操作 例 1 对于表...
  • (图一是部门,图二是部门下的人员,判断一个人是不是在一个部门要用apartment和unit_name双主键来判断) 下方是两个表结构: personUnit是部门表 ``` CREATE TABLE `person_unit` ( `id` bigint(20) NOT ...
  • <p>--三张表:人员表、岗位表、部门表,人员表中的 departmentid = HrmDepartment.ID ,jobtitle = hrmjobtitles.ID; <p>select departmentid AS '所属部门',loginid ,jobtitle,hrmjobtitles.id As'...
  • Mysql/Oracle——常用SQL语句

    万次阅读 2020-09-20 16:17:27
    SQL语句
  • JavaWeb之SQL语句

    2020-11-14 23:55:34
    JavaWeb之SQL语句
  • SQL语句大全实例

    万次阅读 多人点赞 2016-11-16 16:17:25
    SQL语句实例   表操作   例 1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下:  CREATE TABLE STUDENTS  (SNO NUMERIC (6, 0) NOT NULL  SNAME CHAR (8) NOT NULL  AGE NUMERIC(3,0) ...
  • sql语句练习题

    2017-07-28 10:16:54
    sql语句练习题
  • SQL语句使用基础

    2019-08-16 20:40:18
    SQL语句使用基础 SQL语句主要划分为三类: DDL(Data Definition Languages)语句:数据定义语言 这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter等...
  • SQL语句解析

    2012-03-25 15:05:13
    第3章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。 本节介绍了SQL语句处理的基本过程,主要包 · 查询语句处理 · DML语句处理(insert, ...
  • Sql语句

    2019-11-06 22:51:26
    -- where 单值子查询 一条SQL语句的结果是另一条SQL语句的执行条件 where = (SQL语句) select department_name from departments where department_id = (select department_id from employees where employee...
  • SQL语句基础

    2019-04-13 16:09:03
    一、基础 模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。...SQL语句主要分为以下三种类型 1.DDL:数据库定义语言 2.DML:数据库操纵语言 3.DCL:数据库控制语句 SQL 支持...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,782
精华内容 3,112
关键字:

sql语句统计部门人数