Re: [SQL ] 查詢特定時間內滿足3次的第一筆資料

看板Database作者 (可愛小孩子)時間10年前 (2015/07/27 14:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
-- 你的資料表 create table #temp( ID char(1), EventDate char(8) ) -- 計算結果 select ID,min(EventDate) EventDate from ( select t1.ID,t1.EventDate from #temp t1 inner join #temp t2 on t1.ID = t2.ID and t1.EventDate <= t2.EventDate and convert(char(8),dateadd(year,1,t1.EventDate),112) >= t2.EventDate group by t1.ID,t1.EventDate having count(*) >= 3 ) t1 group by ID ※ 引述《Mutex (Mutex)》之銘言: : 資料庫名稱:SQL : 資料庫版本:2012 : 內容/問題描述: : 想要請教如何計算某特定區間內,滿足3次的設定條件,並呈現第一筆的日期 : 也可以說是"計算任何一年區間內,有出現三筆資料,並呈現第一筆資料日期" : 資料範例如下 : ID EventDate : A 20050101 : A 20051201 : A 20060215 : A 20060425 : B 20100505 : B 20100707 : B 20100808 : B 20110404 : B 20110425 : C 20000101 : C 20000606 : 想要算出的答案應該是 : A 20050601 <<< 從20051201開始算一年內,count >= 3,所以答案是20051201 : 因為從20050101開始算一年內,沒有滿足3次的條件,所以不是這天 : B 20100505 <<< 20100505、20100707、20100808都有滿足條件,但求最小值2010505 : C則因為沒有滿足條件,所以答案不會有C : 再麻煩高手協助解惑了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1437977308.A.F1D.html
文章代碼(AID): #1LjShSyT (Database)
文章代碼(AID): #1LjShSyT (Database)