[함수] 1 일 1 함수 : ROLLUP의 쓰임
·
데이터베이스/oracle
ROLLUP 함수는 GROUP BY 절에서 사용하는 함수로, ROLLUP 함수의 인자로 쓰인 컬럼들의 소계, 총계를 구할 수 있다.ROLLUP함수를 쓰면첫번째 인자(상품 ID)별 두번째 인자(월) + 첫번째 인자(상품 ID)별 두번째 인자(월)의 소계(SUBTOTAL) + 총계(GRAND TOTAL)의 결과가 나온다.ROLLUP 함수는 인자의 순서에도 영향을 받기 때문에, 순서가 바뀐다면 결과도 바뀌게 된다.아까와는 반대로첫번째 인자(월)별 두번째 인자(상품 ID) + 첫번째 인자(월)별 두번째 인자(상품ID)의 소계(SUBTOTAL) + 총계(GRAND TOTAL)의 결과가 나온다. 이렇듯 ROLLUP 함수는 인자별 소계, 총계를 내기 때문에 아래의 쿼리에서는 전혀 다른 결과가 나오게 된다.  SELE..
[함수] 1 일 1 함수 : 그룹 내 순위를 매기는 함수(RANK, DENSE_RANK, ROW_NUMBER)
·
데이터베이스/oracle
그룹 내 순위를 매기는 함수에는 RANK, DENSE_RANK, ROW_NUMBER가 있다. 각각 특징을 비교하여 어떤 경우에 쓰이는 지 알아보았다. ROW_NUMBER()SELECT     employee_id,     salary,     ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_numFROM     employees; 이 예시에서는 각 부서별로 사원을 연봉에 따라 순위를 매기는 경우이다. employees 테이블에서 각 사원의 연봉을 내림차순으로 순위를 매긴다. PARTITION BY 절은 부서별로 분할하여 순위를 매기고, ORDER BY 절은 연봉을 기준으로 순위를 부여한다. RANK()SELECT    ..
[정처기 실기 준비] 깨알 C언어 특강 1강~ 5강 요약
·
cs/C
정보처리기사 실기 응시 전 C언어 기초 강의를 수강하면서, 배운 내용을 간단히 정리해보려고 한다.1강. 프로그래밍이란? 프로그래밍을 접해보지 않아도 프로그래밍의 기본 순서를 알면 이 문제를 풀 수 있다.선언 ㄷ => 입력 ㅁ => 입력  ㄱ(입력받는 함수) => 처리 ㄴ => 출력 ㄹ 2강. 컴파일러 & 인터프리터컴파일러와 인터프리터를 이해하려면컴파일러 => 책 통번역인터프리터 =>실시간 통역으로 이해하면 쉽다. 한번 컴파일을 할 때 오래 걸리지만 컴파일 후  exe 파일이 생기면, 다시 번역하는 과정이 필요없는것이고=> java, c 등등한 줄씩 바로바로 번역하고 실행하는 인터프리터 언어는 실행속도가 빠르지만 매 번 실행과정을 거쳐야 함 => RUBY, php, javaScript3강.변수변수는 뭐 딱..
[프로그래머스][SQL][ORACLE] lv 3 카테고리 별 도서 판매량
·
코테/sql
SELECT B.CATEGORY, SUM(S.SALES) AS TOTAL_SALESFROM BOOK BINNER JOIN BOOK_SALES SON B.BOOK_ID = S.BOOK_IDWHERE TO_CHAR(S.SALES_DATE, 'YYYY-MM' ) LIKE '2022-01'GROUP BY B.CATEGORYORDER BY CATEGORY ASC누워서 쓰니까 너무 힘들다
[프로그래머스][java] lv 0 공 던지기
·
코테/java
1. 문제 설명2. 나의 풀이class Solution { public int solution(int[] numbers, int k) { int index = 0; for (int i = 0; i  이거 소스만 보면 별거 아닌데 너무 어렵게 풀었다.. 1. 시작점이 1 이므로 (0번째 공을 던질 수는 없음) k-1 회 후 도착한 인덱스를 찾아야함2. 현재 인덱스 = (현재 인덱스 + 이동량(2)) % numbers.length 3. 다른 사람의 풀이class Solution { public int solution(int[] numbers, int k) { return (k-1)*2 % numbers.length+1; }}공을 던질 횟수는 k-1번.각..
[프로그래머스][java] lv 0 2차원으로 만들기
·
카테고리 없음
1. 문제 설명2. 나의 풀이class Solution { public int[][] solution(int[] num_list, int n) { int[][] answer = new int[num_list.length/n][n]; int cnt = 0; for(int i = 0; i  2차원 배열 간만이라 헷갈렸는데 (이중 포문안의 범위를 answer[i]로 해야한다는걸 생각 못해서 ;)문제 자체는 쉬운듯,,3. 다른 사람의 풀이class Solution { public int[][] solution(int[] num_list, int n) { int[][] answer = {}; int length ..
[프로그래머스][java] lv 0 n의 배수 고르기
·
코테/java
1. 문제 설명2. 나의 풀이class Solution { public int[] solution(int n, int[] numlist) { int[] tempAnswer = new int[numlist.length]; int temp = 0; for(int i = 0; i 3. 다른 사람의 풀이 1. 내 풀이와 비슷하지만 효율적인 코드class Solution { public int[] solution(int n, int[] numlist) { int count = 0; for(int i : numlist){ if(i%n==0){ count++; } ..