再次我堅持計算MySQL中的某些東西。數據庫結構遠遠沒有被SOers稱爲最佳,但我在這裏沒有影響力,不得不忍受它。大概是爲什麼我需要再次求助得到一些信息出來的:)計算一段時間內價值的變化?
假設我的原因that's一個有: SOME_ID(表不是PK,不是唯一的), 年,月(無日期字段只有兩個整數字段), some_flag(字符是A或B)。
現在我想知道some_flag發生了多少次變化(在給定的時間跨度內)。在第一種方法中,時間跨度並不是非常重要,我只需要知道發生了多少變化。請注意,更改只能每月進行一次。我的查詢:
SELECT some_id,year,some_flag FROM mytable
WHERE some_flag = "A" OR someflag = "B"
AND year > 2005
GROUP BY some_id,some_flag
HAVING COUNT(DISTINCT some_flag) > 1
返回空結果集。它出什麼問題了?我相信有多年在經過數月的標誌變化...
是不是像
select .... , sum(case when month=month-1 and some_flag != some_flag then 1 else 0 end) as changecount
可能嗎?
你能張貼一些示例數據和你想要什麼輸出嗎? – 2010-10-25 15:17:58