作者Mutex (Mutex)
看板Database
标题[SQL ] 查询特定时间内满足3次的第一笔资料
时间Sun Jul 26 07:35:04 2015
资料库名称: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), 来自: 1.164.146.235
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1437867306.A.F21.html
1F:推 billy522: select ID,min(EventDate) from table where 特地区间 07/26 11:15
2F:→ billy522: group by ID having count(*) >=3 07/26 11:15
3F:→ billy522: 如果要从第一个时间开始算一年内...就请楼下大大帮忙了 07/26 11:17
5F:推 cutekid: 推 moyasi 大大 →EventDate + 10000 这招(Y) 07/27 14:14