简单的sql分组统计

一个记录员工打卡时间的表,只有两个有效字段 员工名称,打卡时间,现在要统计某一天中,每个员工的打卡次数、最早打卡时间、最晚打卡时间,问sql怎么写?

其实这个sql很简单,

1、首先要明确既然是按每个员工统计每个员工的打卡时间,那么一定是按照员工名称分组,所以   可以得到

sql 片段1: group by name

2、要明确,我们需要的所有字段都应该出现在最外层的select 后面,不管是否分组

那么我们可以写出

sql片段2: select name,count(*),min(tdate),max(tdate)

3、把 片段2和片段1组合就得到最终结果了。

【其实我们统计结果中一定是每个员工一条记录,也就是说每条记录中的字段都是从当前员工所有打卡记录里面生成的,也就是说我们的查询条件字段实际上都是针对每个员工组里面的统计的,

只是我们把它们写在 最外层的 select 后面,我们写的时候不用考虑数据是怎么生成的,我们只要知道,我们需要哪些字段,就写在 select后面,按照什么分组就写在 group by 后面,其他的事不用我们管,mysql会给我们处理好】

原文地址:https://www.cnblogs.com/libin6505/p/10499604.html

时间: 2024-10-11 23:21:07

简单的sql分组统计的相关文章

sql 分组统计查询并横纵坐标转换

关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop table #mytbgodeclare @Year intset @Year=2014create table #mytb ([Date] int,[Count] int,[Price] decimal(18, 0),[spbm] varchar(50),[sppp] varchar(100),[spm

010.简单查询、分组统计查询、多表连接查询(sql实例)

-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SELECT UNION --SELECT 'HAHA',1,32--UNION ALL --全部显示/显示重复数据 即使集合相同--UNION---------将查询的两个结果集合并.结构必须一致 -->常见面试题 --SELECT 'HEHE',2,33------将查询结果添加到列表中(子查询)IN

sql分组统计多列值

select BQDM,sum(case when HFBZ='0' then 1 ELSE 0 end) bxschf,sum(case when HFBZ='1' then 1 ELSE 0 end) xschf,sum(case when HFBZ='2' then 1 ELSE 0 end) yschf,sum(case when HFBZ='3' then 1 ELSE 0 end) xxghffrom T_ZYBR_INFO group by BQDM

Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计

今天要和大家分享用在sql 语句中使用group by来进行分组统计.大家首先来看一下数据源. 用OLE DB 打开数据源,(步骤请参考本系列第一篇博文) 最后一条语句group by Item ,就是以Item 列分组. 结果如下 按照item 分类汇总

【SQL Server 2012】按倒序存储“分组统计”结果的临时表到新建表

程序预先说明: 本文访问的数据库是基于存有RDF三元组的开源数据库Localyago修改的库,其中只有一个表,表中有五个属性:主语subject.谓语predict.宾语object.主语的编号subid,宾语的编号objid.每条记录由(subject,predict,object,subid,objid)组成.其中当宾语为字符型而不是实体时(比如"2011"),编号默认为0.有以下数据表: 程序需求: 统计每个主语有多少相关的谓语属性(每个谓语可有多个宾语),即有多少以该实体作为主

组函数及分组统计

分组函数 SQL中常用的分组函数 Count(): 计数 Max():求最大值 Min():求最小值 Avg():求平均值 Sum():求和 -- 统计emp表中的人数 select count(*) from emp; -- 统计获得奖金的人数 select count(comm) from emp; -- 求所有雇员的最低工资 select min(sal) from emp; -- 求所有雇员的最高工资 select max(sal) from emp; -- 求部门编号为20的雇员的平均

Oracle按不同时间分组统计

Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 04-10月-10 88 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 sel

求解sql分组问题

我想对code这一列做分组统计,请问大神sql语句该怎么写? 这是我写的sql语句 SELECT t1.id, t1.code, t1.[count], dbo.dictText (t1.dwmc, 'dwmc') AS dwmc, dbo.dictText (t1. LEVEL, 'tar_level0') AS LEVEL, dbo.dictText (t1.wd_id, 'wd_detail') AS wd_id, dbo.dictText (t1.bd_id, 'bd_detail')

全废话SQL Server统计信息(1)——统计信息简介

当心空无一物,它便无边无涯.树在.山在.大地在.岁月在.我在.你还要怎样更好的世界?--张晓风<我在> 为什么要写这个内容? 随着工作经历的积累,越来越感觉到,大量的关系型数据库的性能问题,其根源在于统计信息.这里说的是根源,其实很多时候大家觉得的那些什么索引失效等都只是表象.当然,不能一概而论,还有很多问题如配置问题.设计问题等等,甚至电源也会影响性能. 之所以得出这个结论,因为在常规的开发和部署过程中,一般企业级系统已经大量使用较为高级的磁盘阵列甚至企业级SSD,IO方面的问题已经很少,而