几年前我在一家电信公司工作,我不得不根据以下算法生成一个计算呼叫持续时间的公式:
如果RCT小于t1,则如果RCT大于t1则CD等于t1
,则CD = t1 + x*t2,其中x将"舍入"RCT到t2的下一个最高倍数.
该算法转换为:"第一个t1秒充电,然后每隔t2秒充电".
例:
t1 t2 RCT CD
60 10 48 60
60 10 65 70
60 10 121 130
30 20 25 30
30 20 35 50
30 20 65 70
Run Code Online (Sandbox Code Playgroud)
你能创建一个能够返回"呼叫持续时间"CD的函数/ SQL吗?
不使用if then else ......?
我有一个包含带时间戳的聚合结果的表 - 这意味着每次每个结果是到目前为止的总数:
date | time | ip | result
---------------------------------------
2011-03-01 | 10:00 | 10.0.0.1 | 200
2011-03-01 | 11:00 | 10.0.0.1 | 303
2011-03-01 | 12:00 | 10.0.0.1 | 415
2011-03-01 | 13:00 | 10.0.0.1 | 628
2011-03-01 | 10:00 | 10.0.0.2 | 198
2011-03-01 | 11:00 | 10.0.0.2 | 234
2011-03-01 | 12:00 | 10.0.0.2 | 373
2011-03-01 | 13:00 | 10.0.0.2 | 512
Run Code Online (Sandbox Code Playgroud)
我正在尝试制定一个查询,它将获得每个时间范围之间的增量:
date | time | ip | diff
---------------------------------------
2011-03-01 | 10:00 | …Run Code Online (Sandbox Code Playgroud) 我是初学SQL用户(未经过正式培训;仅限OJT),需要一些简单的更新声明方面的帮助.我想写一个更新声明,允许我列出ID.下面的陈述是我目前的写作方式.理想情况下,该声明允许我将其写成"在(49-57)中的plantunitid.有没有办法做到这一点?感谢您提供的任何帮助.
更新plantfunctiontable set decommissioned = 1其中plantunitid in(49,50,51,52,53,54,55,56,57)