이 쿼리를 수행하는 방법에 대해 완전히 혼란스러워합니다.그룹별로 조합 된 쿼리 업데이트 및 최소 날짜 설정
테이블에 수천 개의 행이있는 경우 성능에 큰 영향을 미치지 않고이 쿼리를 수행하는 방법은 무엇입니까?
제발 상담하십시오!
을 MyTable
pktimestmp | sw_id | url_id | open_date | end_date
-------------------------------------------------------
xxx0 | 101 | com | 2013-01-01 | 2013-01-30
xxx1 | 202 | net | 2013-01-01 | 2013-01-30
xxx2 | 202 | net | 2013-01-15 | 2013-02-28 *
xxx3 | 303 | com | 2013-01-01 | 2013-01-30
xxx4 | 303 | com | 2013-02-01 | 2013-02-15 *
xxx5 | 303 | com | 2013-03-01 | 2013-03-15 *
xxx6 | 404 | org | 2013-01-01 | 2013-01-30
xxx7 | 404 | org | 2013-02-01 | 2013-02-15 *
xxx8 | 404 | gov | 2013-02-01 | 2013-02-15
xxx9 | 404 | gov | 2013-02-01 | 2013-02-15
...
업데이트 쿼리에 : 소프트웨어 및 URL이 동일
날짜 (즉 sw_id 및 url_id).
opendate 및 enddate를 적은 (최소) 발생으로 설정했습니다.
xxx2 | 202 | net | 2013-01-15 | 2013-02-28
will be
xxx2 | 202 | net | 2013-01-01 | 2013-01-30
here we have updated
open_date to min(open_date)
and
end_date to min(end_date)
from same sw and url.
(우리는 단지 차이가있는 곳에 업데이트하면 좋을 것 예를 들어 그들은 "동일한"이기 때문에 xxx8 및 xxx9를 업데이트 할 필요가 없습니다에 대한)
을 MyTable (* = 업데이트 된 행)
pktimestmp | sw_id | url_id | open_date | end_date
-------------------------------------------------------
xxx0 | 101 | com | 2013-01-01 | 2013-01-30
xxx1 | 202 | net | 2013-01-01 | 2013-01-30
xxx2 | 202 | net | 2013-01-01 | 2013-01-30 *
xxx3 | 303 | com | 2013-01-01 | 2013-01-30
xxx4 | 303 | com | 2013-01-01 | 2013-01-30 *
xxx5 | 303 | com | 2013-01-01 | 2013-01-30 *
xxx6 | 404 | org | 2013-01-01 | 2013-01-30
xxx7 | 404 | org | 2013-01-01 | 2013-01-30 *
xxx8 | 404 | gov | 2013-02-01 | 2013-02-15
xxx9 | 404 | gov | 2013-02-01 | 2013-02-15
미리 감사드립니다.
... 이봐, 행'xxx7'와 무슨 일이야? 종료일은 실제로 _ 증가합니다 ('과거'날짜까지, 그 이하). 그게'2013-02-15'일까요? –
예 02-15 였으므로 수정되었습니다. 업데이트 쿼리에 대한 아이디어가 있습니까? : \ – MrSimpleMind