数据库的难题(我只能给39分了)

jamescheng 2001-11-16 04:04:29
数据结构如下(统计员工上班时间),每一个员工每天插入一条纪录,共有150个员工,统计了100天,
autoid username logintime logindate
3081 XXX 2001-10-10 09:06:22 2001-10-10

先要统计,每个员工在每个月内,迟到的次数,一共迟到多少时间(8:00迟到)以后,如何计算?? 要做在一个数据窗口内!!
...全文
118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlackBone 2001-11-19
  • 打赏
  • 举报
回复
SUM(case longintime when 迟到 then 1 else 0 end) as 迟到次数
SUM(longintime - logindate - 8小时 ) as 迟到时间

GROUP BY username
jamescheng 2001-11-19
  • 打赏
  • 举报
回复
给分了,谢谢大家
ksmgbits 2001-11-16
  • 打赏
  • 举报
回复
我只是提供思路,语法不一定正确
ksmgbits 2001-11-16
  • 打赏
  • 举报
回复
select count(*),sum(time(logintime) -tiem('8:00:00')) from 考勤表 group by autoid having (time(longintime) - time('8:00:00')) > 0
Modern_tiger 2001-11-16
  • 打赏
  • 举报
回复
dw 语法为
select autoid,(logintime-login_date)-(1/3) late_time
from table where ......
(字段类型要考虑)

在detail中添加两个运算列
1.real_late_time
if(late_time > 0,late_time,0)
2.is_late
if(late_time > 0,1,0)

按照autoid分组,sum(real_late_time for group 1) 可得总计迟到时间。
sum(is_late for group 1) 就是迟到次数。

在dw画板中将Detail栏遮住。不显示明细,只显示统计结果。

稿费,稿费!^_^
dahaidao 2001-11-16
  • 打赏
  • 举报
回复
是啊,就是这样的。
fallstone 2001-11-16
  • 打赏
  • 举报
回复
上面说了计算迟到时间,统计一个月,就设定两检索条件,例如在窗体上做两文本框,可选开始时间,结束时间,或者选择月,那么统计从1号到30号的结果。
killerdanny 2001-11-16
  • 打赏
  • 举报
回复
为什么有简单的方法不用,要自己写存储过程!写是能写,其实也不难!不过好象太累了!
storein 2001-11-16
  • 打赏
  • 举报
回复
我这样设想:

select username into :name[] from tablename
for i=1 to upperbound(name[])
select logintime into :yeardatetime[] from tablename where username=:name[i]
select logintime into :yeardate[] from tablename where username=:name[i]
next

for i=1 to upperbound(name[])
later[i]=yeardatetime[i]-yeardate[i] //迟到时间数组
next

你使用列表框就可以将name[i] ,later[i] 列出来就可以了

具体未调试,供你参考

jamescheng 2001-11-16
  • 打赏
  • 举报
回复
如何写SQL
killerdanny 2001-11-16
  • 打赏
  • 举报
回复
迟次数就是统计有多少行<8:00
killerdanny 2001-11-16
  • 打赏
  • 举报
回复
按照员工号分组,然后DW查询一个月的记录,然后放个计算列,计算每天LONGINTIME - 8:00,然后把计算列SUM!

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧