WITH RECURSIVE number_sequence(HOUR) AS ( SELECT 0 UNION ALL SELECT HOUR + 1 FROM number_sequence WHERE HOUR < 23 ) select HOUR, 0 as COUNT from number_sequence -- 1. HOUR, COUNT 테이블 생성해서 HOUR 0-23, COUNT 0으로 값 채워넣는 쿼리 where HOUR not in (select cast(DATE_FORMAT(DATETIME, '%H') as signed) as HOUR FROM ANIMAL_OUTS) -- 2. 1에서 생성한 테이블에서 ANIMAL_OUTS테이블에서 시간대별 COUNT 값 있는부분 제외(not in) union SELECT cast..
SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID having count(*) >1 -- PRODUCT_ID가 두번이상 나온 USER_ID 출력 ORDER BY USER_ID, PRODUCT_ID desc 조회한다. USER_ID와 PRODUCT_ID를 ONLINE_SALE 테이블에서 PRODUCT_ID가 두번이상 나온 USER_ID를 출력한다. USER_ID를 기준으로 오름차순 정렬하고 USER_ID가 같다면 PRODUCT_ID로 내림차순 정렬한다.
SELECT CAR_TYPE, count(*) as CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS like '%통풍시트%' or OPTIONS like '%열선시트%' or OPTIONS like '%가죽시트%' GROUP BY CAR_TYPE ORDER BY CAR_TYPE 선택한다. CAR_TYPE과, 전체 count 값을 CARS로 CAR_RENTAL_COMPANY_CAR테이블에서 조건은 OPTIONS컬럼에 '통풍시트', '열선시트', '가죽시트' 중 하나 이상이 포함된 CAR_TYPE을 기준으로 그룹짓는다. CAR_TYPE을 기준으로 오름차순 정렬한다.
SELECT i.INGREDIENT_TYPE, sum(f.TOTAL_ORDER) as TOTAL_ORDER from FIRST_HALF f left join ICECREAM_INFO i on f.FLAVOR = i.FLAVOR group by i.INGREDIENT_TYPE order by f.TOTAL_ORDER 조회한다. ICECREAM_INFO테이블에 INGREDIENT_TYPE컬럼과, FIRST_HALF테이블에 TOTAL_ORDER컬럼의 합계를 TOTAL_ORDER로 FIRST_HALF테이블에 FLAVOR컬럼을 기준으로 ICECREAM_INFO테이블에 FLAVOR컬럼과 일치하는 레코드만 LEFT JOIN ICECREAM_INFO테이블에 INGREDIENT_TYPE컬럼을 기준으로 그룹짓는다. FIR..
SELECT DATE_FORMAT(DATETIME, '%H') as HOUR, count(*) as COUNT FROM ANIMAL_OUTS where DATE_FORMAT(DATETIME, '%H:%i') between '09:00' and '19:59' group by HOUR order by HOUR; 조회한다. DATE_FORMAT(DATETIME, '%H')을 HOUR로, 전체 count 값을 COUNT로 ANIMAL_OUTS테이블에서 DATE_FORMAT(DATETIME, '%H:%i')이 '09:00'과 '19:59' 사이인 HOUR를 기준으로 그룹짓는다. HOUR를 기준으로 오름차순 정렬한다.
고성능의 키-값(key-value) 저장소로, 거대 맵(Map)데이터 저장소 형태를 가지고 데이터를 메모리에 저장하여 빠른 읽기와 쓰기를 지원.(sql 쿼리 사용 불필요) 맵 데이터 저장소 형태이기 때문에 매우 빠르다. (데이터 위치 확인이 매우 빠름) 기본적으로 해시함수를 사용한다. + 해시 테이블 사용 키를 생성하면 생성 직후 해시값과 그 키에 대한 물리적인 주소를 매핑시켜놓는다. 데이터 베이스 16개가 자동으로 생성. 기본 접속 시 0번 데이터 베이스로 접속 1번데이터베이스 접속시 : select 1 0-15번 까지 데이터 베이스가 있음 총 16개 (추가가능) 주로 캐싱, 세션관리, DB 동시성 제어 등에서 다양한 목적으로 사용 세션 (로그인 인증값) 난수값을 저장해놓고 해당 난수값이 있는지 없는지..