MySQL查询:计数"日期"表中的记录,带有"日期"低于目前的记录

时间:2014-07-29 16:27:41

标签: mysql count

我在查询时遇到问题,最终会让我计算一些客户的转售率。

我正在努力计算每月重复业务和新业务的客户。为此,我需要计算这些客户端,以查看它们是否存在于查询中,其日期小于当前记录中的日期。

这是我需要的一个非常淡化的版本:

Date        Client  Count_Previous  
1/1/2014    abc                  0  
1/1/2014    def                  0  
1/1/2014    ghi                  0  
2/1/2014    abc                  1  
2/1/2014    def                  1  
2/1/2014    xyz                  0  

因此,查询需要搜索ABC Date小于Date Client Count_Previous 1/1/2014 abc 0 1/1/2014 def 0 1/1/2014 ghi 0 2/1/2014 abc 1 2/1/2014 def 1 2/1/2014 xyz 0 3/1/2014 mno 0 3/1/2014 def 2 3/1/2014 xyz 1 ,在此示例中为#2/1/2014#。

然而,这个想法是,随着越来越多的月份,数字随后会发生变化:

{{1}}

1 个答案:

答案 0 :(得分:0)

尝试以下内容。我能够通过我的测试表获得您想要的结果。

SELECT  Date as myDate, Client as myClient, (select count(Client) FROM myTable 
WHERE Client = myClient and Date < myDate) as count_previous
FROM myTable

Fiddle