#테이블 생성할 곳 지정
Use WorkDB
Go
#생성할 테이블명 및 생성할 테이블 지정
select cast(LogTime as date) 'date', UserNo, LogType, OS, max(LV) 'LV' , count(*) 'CNT', sum(playtime) 'PlayTime'
into dailyUV_20161229
FROM [database].[Catalog].[dbo].[table] with (nolock)
where
logtime between '2016-11-01 00:00:00' and '2016-12-28 23:59:59'
group by
cast(LogTime as date), UserNo, LogType, OStype
#클러스터인덱스 생성
create clustered index cidx_dailyUV_20161229 on
[dbo].[dailyUV_20161229] (Userno , date )
#뽑을 쿼리 생성
select aa.nDate, count(distinct aa.Userno)
from
(
select Date, Userno
from dbo.dailyUV_20161229a with(nolock)
) aa
where aa.Userno in ( select UserNo
from dbo.dailyUV_20161229 with(nolock)
where Date between dateadd(dd,-7, aa.Date) and dateadd(dd,-1,aa.Date)
)
group by aa.nDate
order by aa.nDate
'sql' 카테고리의 다른 글
[sql] 카테고리별 매출 계산 (ABC 분석, 팬차트, 히스토그램) (0) | 2022.09.26 |
---|---|
[sql] STRING_SPLIT 함수, 구분자로 자르기, 행열 변환 (0) | 2022.09.26 |
[SQL] like 연산자 (0) | 2021.04.14 |
[SQL] nvarchar 값을 데이터 형식 int(으)로 변환 실패시 해결책 (0) | 2017.01.05 |
[SQL] 유닉스타임 -> datetime으로 날짜 변환 (0) | 2017.01.02 |
댓글