十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你可以新建一张表,里面就写上,自己的Id和上一级p-Id,还可以写第几层level_no(我一般不写)。如果是第1层101,它的pId为0。第2层101111它的pId就为101.第3层继续写1011112的pid 101111。有这个区分应该就容易了。再简单分下组就出来了。
在密云等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站设计 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,成都外贸网站建设公司,密云网站建设费用合理。
你这个表,明显是新系统。而且没有考勤开发经验的。
考勤类型只分ONduty和OFFduty,但实际上需求4总打卡次数。。。。
而且要写到跟你图二一样,还差一张排班表。。。。。
建议你这样,先用工号、日期、ID顺序归档一次,根据班次区间先分布没次打卡树叶上午还是下午,否则现在的逻辑,忘打卡一次就会导致考勤数据异常的。
可以先根据excel表内容建一个对应的数据库表,然后把excel的表导入到数据库,
汇总就是用函数sum(字段名)
select '分公司ID',COUNT(*) AS '订单数量' from Orders
where OrderTimeCONVERT(nvarchar(10),year(GETDATE()))+'-'+CONVERT(nvarchar(10),month(GETDATE()))+'-01'
and OrderTimeGETDATE()
group by '分公司ID'
select min(id) as 序号,
max(dept) as 部门,
sum(pay) as 合计,
sum(case zt when '01' then 1 else 0 end) as 个数01状态,
sum(case zt when '02' then 1 else 0 end) as 个数02状态,
count(zt) as 总数
from 表名
group by dept
这段代码是sqlserver和oracel通用,其中“表名”的地方,换成你的表名
喔看掉了这个条件:我现在想统计01、02两种状态的数量和pay合计
还是 zjwssg提醒,但最后两个sum中when后面,建议还是加单引号吧
把上面的代码改为这样应该没问题了
select min(id) as 序号,
max(dept) as 部门,
sum(case when zt='01' OR zt='02' then pay else 0 end) as 合计,
sum(case zt when '01' then 1 else 0 end) as 个数01状态,
sum(case zt when '02' then 1 else 0 end) as 个数02状态,
count(zt) as 总数
from 表名
group by dept
select t1.shop,sum(t1.qty) as qty,t2.sum_qty from 表名 as t1,
(select sum(qty) as sum_qty from 表名) as t2
group by t1.shop,t2.sum_qty
时间条件你自己加一下吧,应该没问题吧?