限制基于任意列中的清晰度导致SQL查询

时间:2010-11-05 05:02:59

标签: sql sybase

我需要编写一个SQL查询,该查询来自一个存储记录的表,每次我们的销售人员与客户说话时。相关列包括:(1)销售人员的员工ID,(2)客户的帐号,以及(2)会话日期。

通常情况下,销售人员在报告期(一个日历月)内多次与客户交谈,因此除日期外,将有几个几乎相同的条目。

我被绊倒的地方是,为了这个查询的目的,我需要每个销售人员/客户端组合只返回一条记录,但我不能使用DISTINCT,因为我需要包含最多的日期最近在报告期内的谈话。

因此,如果销售人员约翰在10月10日,10月18日和10月25日与客户ABC谈话,我需要提取10/25记录而不是其他记录。

这是一个Sybase数据库。

我觉得我可能会遗漏一些简单的东西,但我已经尝试过搜索并保持难以理解。非常感谢任何帮助。

感谢您的时间,

约翰

1 个答案:

答案 0 :(得分:1)

猜测列名...

  SELECT employee_id, client_acct_no, 
         MAX(conversation_date) AS MOST_RECENT_CONV_DATE
    FROM mytable 
   WHERE conversation_date BETWEEN DATE '2010-10-01' AND DATE '2010-10-31'
GROUP BY employee_id, client_acct_no

Documentation GROUP BY子句。