我正在尝试计算与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的经验。
马特
答案 0 :(得分:5)
您可以尝试将AVG
的聚合函数与group by
一起使用
SELECT Start,End,AVG(Time) Avg
FROM T
GROUP BY Start,End