1
有两个表会议和查看其中一个会话可能包含许多观点:选择不包括连接表的第一行和最后一行
Session
id | app | other_columns
------------------
1 | A | text
2 | A | text
View
id | session | name | start | end
---------------------------------------------
1 | 1 | A | 1395221810 | 1395221836
2 | 1 | B | 1395221837 | 1395221945
3 | 1 | A | 1395221846 | 1395221998
4 | 2 | A | 1392241521 | 1392241563
5 | 2 | G | 1392241564 | 1392241565
6 | 2 | F | 1392241566 | 1392241579
7 | 2 | I | 1392241580 | 1392241596
8 | 2 | J | 1392241596 | 1392241612
现在我想获得的平均长度所有会话的(从端的总和计算 - 开始为属于会话中的每个视图)其中,app =“A”,但不包括每个会话的第一和最后一个视图(即行)。在上面的例子,视图1 + 3(属于会话1)和4 + 8(会话2)应该被排除在计算之外。
我开始与这个样子的,但很明显,它不包含第一+最后一排斥声明:
SELECT
AVG(v.end - v.start)
FROM
View AS v
JOIN
Session AS s ON s.ID = v.session
WHERE
s.app = 'A';
谢谢您的回答,看起来相当有前途的!使用此查询,我不断收到错误说“重复列名‘会议’”。另外,我想将结果集限制为具有app ='A'的会话。 – tilo
它measn有2列有姓名** **会话。只需添加{alial} .session。您可以将应用程序=“A”到查询 – StanislavL
但为了包括应用程序,我不得不做另一个连接,右(因为在你的榜样,不使用会话表)? – tilo