我基本上想做的是:计算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 BYHAVING(它们仅在聚合列时使用)。
你想要一个简单的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/

10-11 03:09