SQL从DISTINCT行的结果中选择平均值

时间:2018-12-05 14:49:59

标签: sql sql-server select distinct

我正在尝试计算与SQL Server DB中每个DISTINCT行相关的一组平均值,但在弄清楚如何将它们全部拼接在一起时遇到了麻烦。我将用一个简单的例子说明。下表描述了到达A,B和C 3点之间所花费的时间。我试图计算出两次DISTINCT旅程之间所花费的平均时间。

|Start|End|Time|
|  A  | B | 5  |
|  A  | B | 10 |
|  A  | B | 3  |
|  A  | C | 20 |
|  A  | C | 22 |
|  B  | C | 10 |
|  B  | C | 8  |

我希望查询结果产生

|Start|End|Avg|
|  A  | B | 6 |
|  A  | C | 21|
|  B  | C | 9 |

我已经尝试过使用联结和SELECT DISTINCT Start,End嵌套选择的方法,但是在解决这一问题时遇到了一些严重的语法问题。没有太多使用SQL的经验。

马特

1 个答案:

答案 0 :(得分:5)

您可以尝试将AVG的聚合函数与group by一起使用

SELECT Start,End,AVG(Time) Avg
FROM T 
GROUP BY Start,End