오후에 프로젝트에 통계 보고서가 생성된 것을 보았는데, XX 테이블에 기록된 인접한 두 레코드 간의 통계 시간 차이는
테이블의 데이터는 다음과 같습니다.
인접한 두 레코드는 첫 번째 레코드와 같아야 합니다. 두 번째 레코드의 생성 시간 차이를 계산합니다
즉,
이
select
t. 사용자 이름,(max
(t.CREATIONDATE)-min
(t.CREATIONDATE))*24*60*60,count
(t.username)/2그룹화별 사용자 온라인 시간 통계(즉, 전후 두 기록의 차이) 렌더링:
설명: 마지막 필드는 사용자 로그인 수를 계산하는 데 사용됩니다.个 Oracle Two Time을 줄이는 기본값은 일수입니다.> 사용자 이름, sum(b ), count
(사용자 이름) / 2from
(as b ㅋㅋ + ) lgtype,
lag( CREATIONDATE) over(partition by 사용자 이름 order
-- where USERNAME = 'zhouhui') group
구현 효과는 동일하므로 여기에 게시하지 않겠습니다.
20100520 일부 변경 사항에서는 통계 수치가 통계 TYPE 1과 0이 아니어야 합니다. 합계와 평균을 기록하고 TYPE=0의 값만 계산합니다. 이렇게 하면 SQL 그룹화가 불가능합니다. 이렇게 생각하고 SQLSql 코드
select g.username, g. time, h.
count(t.CREATIONDATE) -
min(t.CREATIONDATE )) * 24 * 60 * 60)
astime
여기서 1 = 1 t.username = b.username
ㅋㅋ ~ 로그 tt.type = '0'
byt.사용자 이름) h
whereorder
countdesc 두 세트의 차이점과 통계는 나중에 TYPE=0으로 제한되는 레코드의 개수일 뿐입니다. 통계 데이터의 개수가 일치하지 않아 한 그룹에서 구현하기가 어렵습니다. USERNAME 및 TIME 레코드를 먼저 구현하는 것이 좋습니다. 그런 다음 TYPE=0을 만족하는 USERNAME 및 레코드 수를 계산합니다. SELECT XX FROM A B 2개의 임시 테이블의 인라인 관계를 통해 2개의 결과를 병합하여 병합된 결과 집합을 얻습니다.
관련 권장 사항: .net2.0 연결 Mysql5 데이터베이스 구성
위 내용은 인접한 두 레코드 간의 시간차에 대한 SQL 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!