T-SQL 질문,이 최선의/최적의 솔루션을 찾으려고했습니다. T-SQL, X 시간 내에 X 위치를 방문하는 ID를 얻는 방법은 무엇입니까?
우리가이 theoritical 표 5 분 이내에 2 개 이상의 서로 다른 위치에 있었 ID를 반환하는 쿼리를 작성하려는-----------------------------------
ID | DATETIME | Location
11 | 1/27 3:30pm | a
11 | 1/27 3:31pm | b
11 | 1/27 3:32pm | c
22 | 2/14 1:10pm | g
22 | 2/14 1:12pm | i
22 | 2/15 5:48pm | w
55 | 3/18 8:48pm | d
55 | 3/18 9:48pm | e
---------------------------
을 말해봐. 이 경우 테이블을 보면 ID : 11과 22가 5 분 이내에 2 개 이상의 다른 위치를 방문하므로 ID 11과 22를 반환해야합니다. X만큼의 ID를 반환하는 쿼리를 어떻게 작성합니까? X 시간 내에 위치하는 시간 (분)? 당신은 위치가 주어진 ID에 대한 각 행에 다른 것을 가정하면
"최고/최적의"일부 특정 구성에 당신의 부분, 작은 메모리 풋 프린트, 최소한의 I/O에 게으른을 의미합니까 ...? 특정 메트릭이 없으면 Free & Optimal 솔루션을 제공 할 수 없습니다. ("반환 ... 5 분 이내"는 성능 목표입니다.) – HABO
힌트 : 다음에 'CROSS APPLY'를 사용하십시오 – Squirrel
다음에 datetime 열을 샘플 데이터로 사용하면 더 완전한 형식으로 사용하십시오 * yyyy-mm- dd hh : mm : ss *는 id 22가 5 분 이내에 2 회 이상 방문하지 않는 것이 좋습니다. –