일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Date Format
- 숫자변환
- numeric
- REPLICATE
- 문자 숫자 조합 문자
- 날짜포멧
- Temp Table
- object검색
- 날짜형식
- replace
- 테이블조회
- SQL
- 임시테이블
- altertable
- grouping sets
- LAG
- ID만들기
- SQLSearch
- Lead
- 태블로 #tableau #비율막대그래프
- 소계
- 변수 생성
- 총계
- mssql
- 다음행
- sqlsearch설치
- indexOf
- Date
- 이전행
- 테이블정보
- Today
- Total
목록SQL (13)
Data Scientist

COUNT(*)를 쓰는 경우는 다양하지만, 텍스트 파일, 엑셀 파일을 IMPORT 한 후 월별 데이터가 잘 들어갔는지 검증을 하기 위해 반드시 COUNT(*)를 통해 확인해본다. (간혹, 끊기거나 다른 일과 함께 하다가 두번 넣은 적이 분명히 있다ㅠㅠ) 직감적으로 비슷한 추이라고 볼 수 있지만, 직관적으로 읽을 수 있게 숫자 형식으로 바꾸고 싶었다. select format(count(*), '##,##0') from TABLE_NAME FORMAT 함수를 이용하면 되고, FORMAT(숫자 혹은 계산값, 형식) 을 넣으면 된다. 소수점을 넣고 싶다면 '##,##0.##' (소수점 2자리) 0 뒤에 점과 원하는 소수점 숫자만큼 # 를 추가하면 된다.
변수를 생성하고 값을 넣기 1) 테이블 내 변수 생성 alter table [table name] ADD [변수명] [변수형식] ; (예) alter table [table name] ADD [변수명] varchar(30) ; 2) 변수 값 넣기(update문 이용) update [table name] set [변수명]=[변수값] where 조건 (예) update [table name] set [region]=[서울특별시] where [City] = '서울' (예) update [table name] set [yymm]=SUBSTRING(변수, 시작점, 추출할문자개수) [참고] 문자열 추출 SUBSTRING(변수, 시작점, 추출할 문자 개수) LEFT(변수, 추출할 문자 개수) RIGHT(변수, 추출할..
테이블을 생성하면 숫자도 문자로 생성된다.(나만 그런가?) 근본적인 원인을 탐구하기 전에 이미 생성된 테이블 안에서 타입 변경 하는 법을 알아봤다. 이를 하려면 변경하는 함수가 뭔지, 숫자형 형식이 어떤 것이 있는지 확인해야한다. 1) 숫자형 형식 형식 설명 int 정수 float 부동소수점 numeric 실수 decimal 실수(numeric 동일) 2) CONVERT -> CONVERT(numeric, 변수명) -> CONVERT(numeric(6,4), 변수명) : 소수점 4자리 총 6자리의 숫자로 변환 ※ NUMERIC(소수점 포함의 전체 길이, 소수점 이하의 길이)/ DECIMAL도 동일 끝.

SQL에서 간단한 통계를 내고자 할 때 GROUP BY 구문을 자주 사용하곤 한다. 그러나 여러번의 GROUP BY가 필요한 소계, 총계 등이 섞여 있다면 그것을 한방에 해결해 줄 구분이 바로 GROUP BY GROUPING SETS 이다. 사용법 또한 매우 간단하고 직관적이다. 작성 방법 SELECT SEX_TP_CD, AGG, ym, SUM(SAL) AS SAL_SUM FROM EMP_MAST GROUP BY GROUPING SETS ( (), (SEX_TP_CD), (SEX_TP_CD, AGG), (SEX_TP_CD, AGG, ym) ) 원하는 GROUP BY 조건을 GROUPING SETS 안에 괄호() 안에 나열해주면 된다. GROUP BY 조건에 따라서 명칭이 NULL이 나오는 경우는 ISNU..
먼저 SQL Server 2012 이상 에서 작동한다는 것을 참고하기 바란다. LAG, LEAD 함수는 현재 조회되는 행의 이전행, 다음행의 데이터를 같은 행에서 조회할 수 있게 해주는 함수이다. 이전행과 다음행의 데이터를 가져오는 기준은 조회 되는 결과 값에 따라서 출력된다. 원본 데이터 셋 SELECT EMP_ID, EMP_SAL, MONTH_DT REG_DATE FROM EMP_MAST ORDER BY EMP_ID, MONTH_DT EMP_ID EMP_SAL MONTH_DT REG_DATE 1 A001 300 202001 2020-01-01 00:00:00.000 2 A001 400 202002 2020-02-01 00:00:00.000 3 A001 500 202003 2020-03-01 00:00..