我有一个数据库表的格式如下几行的行:计算数量的不同
id | date | position | change_id
1 | 2013-05-14 | 1 | 1
2 | 2013-05-14 | 2 | 2
3 | 2013-05-14 | 2 | 3
4 | 2013-05-15 | 2 | 1 <--- changed from prev day
5 | 2013-05-15 | 1 | 2 <--- changed from prev day
6 | 2013-05-15 | 2 | 3
7 | 2013-05-16 | 2 | 1 <--- not changed from prev day
8 | 2013-05-16 | 1 | 2 <--- not changed from prev day
9 | 2013-05-16 | 2 | 3 <--- not changed from prev day
什么我希望做的是计算有多少排在position
列的条款已修改在这两个日期之间已经发生,即在该示例中,我想获得position
在2013-05-16
和2013-05-15
之间不同的次数。该值将为0,因为position
值未更改。
但是如果我想使用的日期2013-05-15
和2013-05-14
然后计数将是2,因为位置值已经改变两倍(如图所示)
可以这样在单个查询来完成,或者我会需要做一些处理服务器端?
感谢
你能澄清每个字段之间的关系吗? – ishegg
每天有3行,'changes'的值可以每天更改。所以我需要得到'changes'列不同的行数,也就是说,如果2行已经改变('changes'不同于前一天),那么count就是2等等。所以我只需要来计算两个日期之间的变化次数,即有多少行已经改变(不是“更改”列的总和) –
如果你放一个更大的例子,我认为更好。现在,但导致'1',所以我们不能理解所有的情况。阅读您的评论最多有3行日期?所以结果应该是'{0,1,2}?也不清楚如果更改是在同一天或不同的日子之间 –