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

作者: Mutex (Mutex)   2015-07-26 07:35:04
資料庫名稱: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
再麻煩高手協助解惑了 謝謝
作者: billy522 (過好每一天)   2015-07-26 11:15:00
select ID,min(EventDate) from table where 特地區間group by ID having count(*) >=3如果要從第一個時間開始算一年內...就請樓下大大幫忙了
作者: moyasi (Simple Life)   2015-07-27 13:59:00
作者: cutekid (可愛小孩子)   2015-07-27 14:14:00
推 moyasi 大大 →EventDate + 10000 這招(Y)

Links booklink

Contact Us: admin [ a t ] ucptt.com