2010-11-05 34 views
1

我需要编写一个SQL查询,该查询从每次销售人员向客户说话时存储记录的表中提取。相关栏目是:(1)销售员的员工ID,(2)客户的账号,以及(2)谈话日期。根据任意列中的独特性限制SQL查询的结果

销售人员经常在报告期内(一个日历月)与客户多次交谈,因此除了日期之外,会有几个条目几乎相同。

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

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

这是一个Sybase数据库。

我有这样的感觉,我可能在这里错过了一些简单的东西,但我试过寻找并继续难住。任何帮助是极大的赞赏。

感谢您的时间,

约翰

回答

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 

DocumentationGROUP BY条款。