我有一個數據庫表的格式如下幾行的行:計算數量的不同
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}?也不清楚如果更改是在同一天或不同的日子之間 –