주가 분석하기
01. 최고가, 최저가, 가격 차이, 비율 검색하기 SELECT symbol, CONVERT(DECIMAL(18,2), MIN([close])) AS w52_min, CONVERT(DECIMAL(18,2), MAX([close])) AS w52_max, CONVERT(DECIMAL(18,2), MAX([close])) - MIN([close]) AS w52_diff_price, CONVERT(DECIMAL(18,2), (MAX([close])) - MIN([close]))/ MIN([close]) * 100 AS w52_diff_ratio FROM stock WHERE date > = DATEADD(week, -52, '2021-10-04') AND date < = '2021-10-04' GROUP BY..
SQL 함수: 분석 함수
행 그룹을 기반으로 집계해 이동 평균, 누계, 백분율, 그룹 내 상위 N개의 결과를 계산한다. 앞 또는 뒤 행 참조하기: LAG, LEAD 함수 하루 전 날짜와 오늘 날짜 데이터를 비교할 때, LAG 또는 LEAD 함수를 사용하면 간편하다. LAG 함수는 현재 행에서 바로 앞의 행에 접근하고, LEAD 함수는 현재 행에서 바로 뒤의 행에 접근한다. 물론, offset 인자에 전달한 값에 따라 이전 또는 이후 몇 번째 행의 데이터를 참조할지 결정할 수 있다. LAG, LEAD 함수의 기본 형식 LAG(scalar_expression [, offeset], [default]) OVER ([partition_by_clause] order-by_clause) 다음은 stock 테이블에서 symbol =' MSF..
SQL 함수: 순위 함수
ROW_NUMBER, RANK, DENSE_RANK, NTILE 함수. 전체 데이터에 순위를 부여할 수도 있고, PARTITION 옵션을 사용해 지정 그룹에 따라 그룹 내 순위를 부여할 수 있다. 유일값으로 순위 부여하기: ROW_NUMBER 함수 모든 행에 유일값으로 순위를 부여한다. 같은 순위의 경우 정렬 순서에 따라 순위를 부여한다. ROW_NUMBER 함수의 기본 형식 ROW_NUMBER () OVER([PARTION BY 열, ..., [n] order by 열) SELECT symbol, sector, ROUND(close_price, 0), ROW_NUMBER() OVER (ORDER BY ROUND(close_price, 0) DESC) FROM nasdaq_company 해석: nasda..