[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