TSQL平均列由另一列中的不同条目组成

时间:2010-07-13 14:30:54

标签: sql tsql distinct average

我从一张看起来像这样的桌子开始......

+-------------------------+
| procName | TimeEnded    |
+-------------------------+
|        A | 04:00:00.000 |
|        B | 04:01:00.000 |
|        C | 04:03:00.000 |
|        A | 04:06:00.000 |
|        B | 04:10:00.000 |
|      ... |          ... |

运行查询以生成RunTime列,使其看起来像这样......

+-------------------------+--------------+
| procName | TimeEnded    |      RunTime |
+-------------------------+--------------+
|        A | 04:00:00.000 |         NULL |
|        B | 04:01:00.000 | 00:01:00.000 |
|        C | 04:03:00.000 | 00:02:00.000 |
|        A | 04:06:00.000 | 00:03:00.000 |
|        B | 04:10:00.000 | 00:04:00.000 |
|      ... |          ... |          ... |

并希望对procName列中每个不同条目的RunTime列求平均值,如下所示:

+-------------------------+
| procName |   AvgRunTime |
+-------------------------+
|        A | 00:03:00.000 |
|        B | 00:02:30.000 |
|        C | 00:02:00.000 |
|      ... |          ... |

我该怎么做呢?你可以忽略table1-> table2步骤,我只是将它包含在一些背景信息中来描述我的问题。

基本上我如何根据procName列中的不同条目对RunTime列中的数据进行平均?

感谢。

1 个答案:

答案 0 :(得分:0)

以下是否适用于您?

SELECT procName, AVG(RunTime)
FROM table
GROUP BY procName 

AVG会忽略您的NULL条目。