设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1416|回复: 5
打印 上一主题 下一主题

[表] 请教关于月份统计和时间"节奏"计算

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-29 21:25:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhasms 于 2009-5-3 13:39 编辑

材料号      上线时间                            下线时间              下一块上线时间时    节奏
L205        20081231143306        20081231222936  
L206        20081231144706        20081231223812
L207        20081231144051        20081231224756
L440        20090131130453        20090131213956
L442        20090131151752        20090131221823
L068        20090228012948        20090228045023

如上表所示:   L205的下一块上线时间就是L206的上线时间为20081231144706,L205的节奏就是(上线时间)-(下一块上线时间)=14M
对于时间转换可以用DATESERIAL和TIMESERIAL,现在要问的是怎么把"下一块上线时间"写上去,还有材料号在表里是不按顺序排列的,如图所示.L207后面紧跟着的是L440而不是L208,   L068是这个表中的第一条记录,第二条记录是L205

1.要求计算月份,根据每月月末22点为计算点,如4月分为3月31日22点-4月30日22点
2.一组数据中根据时间先后排序,计算节奏,即计算时间最接近的2条记录之间的时间差

具体问题和示例见附件(附件格式和例表可能不一样,但大概是这么个意思)
谢谢各位大虾先

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-4-30 02:24:26 | 只看该作者
要用临时表 并且要写程序来实现
3#
 楼主| 发表于 2009-5-2 07:10:27 | 只看该作者
有没有办法用SQL直接写出来!
4#
发表于 2009-5-2 09:05:23 | 只看该作者
首先时间日期应该用时间日期格式
5#
 楼主| 发表于 2009-5-3 13:39:48 | 只看该作者
还是要请各位大虾帮忙阿!
6#
发表于 2009-5-3 17:49:50 | 只看该作者
终于把数据贴出来了。

:(注意是猜,猜不对你就自己改吧
[上线时间]为 数字型。表名为 yourTable

怎么把"下一块上线时间"写上去
update yourTable
set 下一块上线时间时=dmin('上线时间', 'yourTable','上线时间>' & 下线时间)

1.要求计算月份,根据每月月末22点为计算点,如4月分为3月31日22点-4月30日22点
你的 上线时间 转换为 日期型后 + 2 小时即可。时间加法参见dateadd()函数, 或者直接 date+2/24, 然后取月份即可。

2.一组数据中根据时间先后排序,计算节奏,即计算时间最接近的2条记录之间的时间差
根据时间先后排序 order by 时间
计算节奏 (上线时间 -  dmin('上线时间', 'yourTable','上线时间>' & 下线时间 ) 单位为天,



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-20 22:33 , Processed in 0.088431 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表