TSQL通过另一列中的不同条目对列进行平均

TSQL通过另一列中的不同条目对列进行平均,sql,tsql,distinct,average,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 | | ... |

我从一张这样的桌子开始

+-------------------------+ | 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 | | ... | ... | +-------------------------+--------------+ | 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 | TIMEND| +-------------------------+ |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| | ... | ... | 运行查询以生成运行时列,使其如下所示

+-------------------------+ | 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 | | ... | ... | +-------------------------+--------------+ | 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 | TimeEnded |运行时| +-------------------------+--------------+ |A | 04:00:00.000 |空| |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列中每个不同条目的运行时列,如下所示:

+-------------------------+ | procName | AvgRunTime | +-------------------------+ | A | 00:03:00.000 | | B | 00:02:30.000 | | C | 00:02:00.000 | | ... | ... | +-------------------------+ |procName | AvgRunTime| +-------------------------+ |A | 00:03:00.000| |B | 00:02:30.000| |C | 00:02:00.000| | ... | ... | 我该怎么做呢?你可以忽略table1->table2步骤,我只是把它作为一些背景信息来描述我的问题

基本上,如何根据procName列中的不同条目平均运行时列中的数据


谢谢。

以下内容对您有用吗

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

然而,AVG将忽略您的空条目

确实如此,但是它将从中选择的表是基于第一个表中的timeend值动态生成的——从某种意义上说,它不是“独立的”。如果我对查询运行上述查询以生成procName/RunTime表,这是否无效?