一张表某个字段值相等的记要,另一个字段值相减,并求平均值
一张表某个字段值相等的记录,另一个字段值相减,并求平均值
具体描述是这样的:一张表ta_TLog,要把所有LOG_ID相等的行对应的STime值相减,并求出相同FuncNO的平均值,希望大家帮帮忙,谢谢~
LOG_ID FuncNO SDate STime
9A2E59F1 MemberInput 20141222 162523203
9A2E59F1 MemberInput 20141222 162528593
53757CAE GoodsNoInput 20141223 162528703
53757CAE GoodsNoInput 20141223 162529693
93965821 MemberInput 20141223 162600234
93965821 MemberInput 20141223 162601453
……
期望结果如下
LOG_ID FuncNO time
9A2E59F1 MemberInput 5390
53757CAE GoodsNoInput 990
93965821 MemberInput 1219
-- -- -- -- -- -- -- -- -- -- --
FuncNO Avetime
MemberInput 3304.5
GoodsNoInput 990
------解决思路----------------------
------解决思路----------------------
时间不用datetime,作死!!!
具体描述是这样的:一张表ta_TLog,要把所有LOG_ID相等的行对应的STime值相减,并求出相同FuncNO的平均值,希望大家帮帮忙,谢谢~
LOG_ID FuncNO SDate STime
9A2E59F1 MemberInput 20141222 162523203
9A2E59F1 MemberInput 20141222 162528593
53757CAE GoodsNoInput 20141223 162528703
53757CAE GoodsNoInput 20141223 162529693
93965821 MemberInput 20141223 162600234
93965821 MemberInput 20141223 162601453
……
期望结果如下
LOG_ID FuncNO time
9A2E59F1 MemberInput 5390
53757CAE GoodsNoInput 990
93965821 MemberInput 1219
-- -- -- -- -- -- -- -- -- -- --
FuncNO Avetime
MemberInput 3304.5
GoodsNoInput 990
------解决思路----------------------
SELECT LOG_ID,FuncNO,MAX(STime)-MIN(STime) STime
FROM table1
GROUP BY LOG_ID,FuncNO
LOG_ID FuncNO STime
-------- ------------ -----------
53757CAE GoodsNoInput 990
93965821 MemberInput 1219
9A2E59F1 MemberInput 5390
SELECT FuncNO, AVG(Convert(float,STime)) Avetime
FROM (
SELECT LOG_ID,FuncNO,MAX(STime)-MIN(STime) STime
FROM table1
GROUP BY LOG_ID,FuncNO
) t
GROUP BY FuncNO
FuncNO Avetime
------------ ----------------------
GoodsNoInput 990
MemberInput 3304.5
------解决思路----------------------
SELECT Convert(datetime,
LEFT(STime,2)+':'+SUBSTRING(STime,3,2)+':'+SUBSTRING(STime,5,2)+'.'+SUBSTRING(STime,7,3),
114)
时间不用datetime,作死!!!