我有一个“活动”表,一个“客户”表和一个“customer_activity”表。在“活动”表中,每个活动都有自己的ID和开始,结束年份: 因此,每一行都代表一个活动,第一列是开始年份,第二列是结束年份(也就是说,以下是名称为X1的特定客户的活动)。SQL中的每年累计计数
Start End Act_ID
2007 2008 1
2007 2008 2
2009 2009 3
2008 2008 4
2008 2011 5
2007 2008 6
2007 2008 7
2006 2007 8
2006 2006 9
2011 2013 10
2011 2013 11
表“客户”有客户ID和客户名称。最后, 表“customer_activity”具有客户ID和活动ID。 我想通过客户名称查询(说与客户名称X1),并得到一个表是这样的:
Year New Total
2006 2 2
2007 4 5
2008 1 4
2009 1 2
2010 0 1
2011 2 3
2012 0 2
2013 0 2
我使用MariaDB的10.1.10。 任何人都可以帮助我吗?
标记您的问题与您正在使用的数据库。 –
你已经在那个活动表的脚下开枪自杀了。最好用ID,日期来设置它。然后,可以很简单地说'按年份(日期)'从表名组中选择年份(日期),总和(id)'。事实上,您可能必须使用程序填写缺失的日期。 – SandPiper
一些算法最好在应用程序代码中完成,而不是SQL。 –