본문 바로가기
반응형

개발 이야기/Database9

[Postgresql] 그룹별 최소값, 최대값 구하기 SELECT [col1], ... , [coln] FROM ( SELECT [col1], ... , [coln], ROW_NUMBER() OVER(PARTITION BY [col1] ORDER BY [coln] ASC) as index FROM [table] ) AS res WHERE index = 1 그룹분류를 원하는 컬럼은 col1, 구해야 할 최소 최대값 컬럼은 coln 에 위치한다. 그룹별 분류 및 최소, 최대값을 가져오기 위한 정렬 후 함께 SELECT를 원하는 컬럼은 col1, coln 사이에 위치시킨다. Example) bgroupseq ... bmanagerranking 1 ... 100 1 ... 200 1 ... 300 2 ... 100 2 ... 200 3 ... 100 3 ... 2.. 2021. 1. 26.
[MySQL] int(10) unsigned 로 저장된 날짜 date 형식으로 변환 MySQL에는 FROM_UNIXTIME() 함수가 존재하는데 이 함수는 unix_timestamp 버전의 날짜를 date 형식으로 변환해서 리턴해주는 함수이다. 함수에 파라미터로 사용되는 문자열이나 숫자에 따라 'YYYY-MM-DD hh:mm:ss' 또는 YYYYMMDDhhmmss 와 같은 형태로 값을 받아 사용할 수 있다. [Syntax] FROM_UNIXTIME(unix_timestamp, [format ]) [Example] 1. SELECT FROM_UNIXTIME(1593344860); => 2020-06-28 20:47:40 2. SELECT FROM_UNIXTIME(1593344860) + 0; => 20200628204740 3. SELECT FROM_UNIXTIME(1593344860, .. 2020. 6. 30.
동일한 테이블에서 원하는 행 복사하기 INSERT INTO [테이블 명] SELECT [컬럼1], [컬럼2], [컬럼3], ... FROM [테이블 명] WHERE [복사할 행 조건] 1. 동일한 행 복사 예 INSERT INTO tbl_board SELECT bno, title, content, writer, rgstdate FROM tbl_board WHERE bno = 1; -> tbl_board 테이블에서 bno 이 1인 행을 그대로 복사한 후 새로 INSERT 한다. 2. 값의 변경을 원하는 컬럼이 있는 경우 INSERT INTO tbl_board SELECT bno, '복사된 행 타이틀', content, writer, rgstdate FROM tbl_board WHERE bno = 1; -> title 컬럼 자리에 들어간 문자열.. 2020. 2. 4.
[Mybatis] parameter NULL check import java.lang.reflect.Array; import java.util.List; import java.util.Map; @Repository("parameterNullCheck") public class ParameterNullCheck { @SuppressWarnings("rawtypes") public static boolean isEmpty(Object obj){ if(obj instanceof String){ return obj == null || "".equals(obj.toString().trim()); }else if(obj instanceof List){ return obj == null || ((List)obj).isEmpty(); }else if(obj instance.. 2020. 1. 28.
반응형