반응형

MySQL

    Mysql에서 각 유형별 상위 몇건 데이터 가져오는 방법

    Mysql을 공부하면서 특정 컬럼을 그룹으로 나누고 그 그룹별로 상위 N건의 데이터를 출력하는 방법에 대해 알아보았다. MySQL은 Oracle의 그룹별로 시퀀스 번호를 할당하는 ROW_NUMBER()라는 기능이 제공되지 않아 상위 몇개의 데이터를 추출하기 위해서는 Mysql의 세션 변수를 사용하여 구현할 수 있다. 우선 두 개의 테이블이 존재한다고 가정해보자. 첫 번째 테이블은 사용자 정보를 담고 있는 user 테이블이고 두 번째 테이블은 사용자별 구매정보를 가지고 있는 purchase 테이블이 있다고 가정해보자. user 테이블 purchase 테이블 이 때 사용자 ID가 2보다 큰 사용자들을 대상으로 마지막 구매날짜가 최신인 상위 탑 7개를 추출하는 쿼리를 작성해보자. 결론부터 보여주면 다음과 같다..

    Mysql @variables를 통해 변수 생성 및 대입 연산자 소개

    mysql에서 사용자 정의변수로서 @variables를 사용할 수 있다. 예를 들면 다음과 같이 set 명령어를 통해 변수를 만들고 값을 부여한뒤, 해당 변수를 여러 부분에서 사용할 수 있다.12SET @a = 'test';SELECT @a;cs 해당 변수의 유효 범위는 데이터베이스와의 세션이 유효할때까지 사용이 가능하다. 그럼 변수의 데이터를 대입할때 사용하는 대입 연산자에 대해 알아보자. 대입 연산자설명=왼쪽 피연산자에 오른쪽 피연산자를 대입함. (SET 문이나 UPDATE 문의 SET 절에서만 대입연산자로 사용됨):=왼쪽 피연산자에 오른쪽 피연산자를 대입함. = 연산자는 Mysql에서 SET이나 UPDATE 문장에서 왼쪽연산자에 오른쪽 연산자를 대입하는 의미로 사용된다. 그 이외에 사용될 때는 비교..

    논리삭제와 물리삭제 소개

    논리삭제와 물리삭제 물리 삭제는 데이터를 실제로 delete문장을 사용해서 지우는 것을 말하고 논리삭제는 실제로 데이터를 제거하는 것이 아니라 또 다른 컬럼에 삭제여부를 다루는 플래그를 설정하여 그 값을 기준으로 select를 해서 제거된 것 처럼 보이게 하는 방식입니다. 기존의 데이터 논리삭제 쇼핑사이트에서 해당 사용자가 쇼핑을 주문 취소하였을 때 이력을 남기는 대신 안보이게 하려고 하는 경우에 논리 삭제를 많이 사용합니다.

    Mysql 집계함수

    집계함수 count Count는 집계함수로서 해당 테이블의 지정된 컬럼의 개수를 판단 집계함수에서 null 값은 제외하고 집계된다. 단! *로 조회하였을 때는 null값이 포함된다 적용 전 데이터 적용 후 데이터 집계함수에서 중복제거 방법 집계함수 인자로 컬럼명을 부여할 때 distinct값을 같이 부여한다. 다른 집계함수 sum, min, max 또한 동일하게 적용된다.

    Mysql Group by

    그룹화 Group By 그룹화를 통해 집계함수의 활용범위를 넓힐 수 있다. 1. Group By로 그룹화 적용 전 적용 후 Group By 구를 사용해서 지정된 열의 값이 같은 행이 하나의 그룹으로 묶인다. 같은 값들로 묶이기 때문에, DISTINCT의 효과도 볼 수 있다. GroupBy 절의 조건 부여 groupby절의 where절을 이용하여 조건을 부여 할 수 없습니다. 예를 들어 select value, count(id), count(value) from testmysql where count(id) = 1 group by value; 과 같이 쿼리문을 실행하면 에러가 발생합니다. 그 이유는 GroupBy 구문보다 where절의 실행 순서가 더 빠르기 때문입니다 내부 처리순서 Where-> grou..

    Mysql 문자열 연산

    1. 문자열 결합 concat 2. 문자열에서 특정부분 자르는 substring 3. 좌우 공백을 제거해주는 trim 4. 문자열 길이 반환 character_length 5. 바이트 반환하는 octet_length -> 바이트를 반환하는 octet_length는 현재 캐릭터 셋에 따라 반환되는 값이 다르다. -> EUC-KR은 한글이 2바이트 UTF-8은 3바이트

    mysql 날짜 데이터

    날짜 데이터 현재 날짜 기준으로 앞으로의 날짜를 계산하는 방법 날짜 데이터 간의 차이 구하기

반응형