我基本上想做的是:计算to属性的差异,然后得到差异最大的行。
所以,我试着说:
SELECT caller_aor, (end_time - start_time) as duration
FROM cdrs
GROUP BY caller_aor
HAVING duration = (SELECT MAX(end_time - start_time) FROM cdrs);
HAVING子句中的duration给出了一个错误,但我不知道在那里我必须做什么。
感谢您的帮助。
最佳答案
您不需要GROUP BY
和HAVING
(它们仅在聚合列时使用)。
你想要一个简单的WHERE
:
SELECT caller_aor, (end_time - start_time) as duration
FROM cdrs
WHERE (end_time - start_time) = (SELECT MAX(end_time - start_time) FROM cdrs);
关于sql - 使用别名正确获取此SQL语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7109449/