본문 바로가기

분석77

PostgreSQL : Windows Function (윈도우함수 정리) Windows Function을 사용하면 group by를 사용하지 않고도 SQL의 aggregate 함수를 사용할 수 있다. -- 원래 데이터 SELECT country, month, goalamount FROM TARGET order by month, country TARGET 이라는 테이블에 아래와 같이 국가별, 월별 목표금액이 있는 테이블이 있다고 가정을 하고... * 편의상 모든 결과는 20 row 까지만 캡춰를 하였습니다. 1. 집계 함수 -- 집계 함수 SELECT country, month, goalamount , avg(goalamount) over() as avg_amount , avg(goalamount) over(partition by month) as avg_month FROM T.. 2019. 9. 18.
PostgreSQL : psql 명령어 정리 Postgres의 command line 인터페이스인 psql 에서 사용하는 명령어를 정리해본다. ● 사용자 조회 # \du ● 데이터베이스 조회 # \l ● 데이터베이스 접속 (변경) # \c db_name ● 스키마 조회 # \dn ● 스키마 접속 (변경) # set search_path to schema_name; ● 테이블 조회 # \dt ● function 조회 # \df 2019. 9. 6.
PostgreSQL : generate series of date (일련의 날짜 만들기) PostgreSQL에서는 generate_series 라는 함수를 이용하면 일련의 숫자를 만들 수 있다. select generate_series(0, 364) as idx 위의 커리문장은 0부터 364까지의 숫자 레코드셋을 만들어준다. 여기서 응용을 하면 날짜의 덧셈과 cross join 기능을 이용하면 날짜 series를 만들 수 있다. select a.date + b.idx as date from ( select '2019-01-01'::date as date ) a cross join ( select generate_series(0, 364) as idx ) b 2019-01-01 2019-01-02 2019-01-03 2019-01-04 2019-01-05 2019-01-06 2019-01-07.. 2019. 9. 6.
Mysql에서 rownum 과 그룹별 rownum 이런 table이 있다고 가정하자 name : scores column : class, name, score class (반), name(학생이름), score(점수) 하고자 하는 작업은 각 반별로 상위 점수 3명을 구하는 것이다. 1. rownum mysql에서는 rownum을 제공하지 않기 때문에 다음과 같이 해서 구할 수 있다. select class, name, score, @rownum:=@rownum+1 as rownum from scores, (select @rownum:=0) r 2. rownum by group : 그룹별로 rownum을 만들어 보자 -- group 별 rownum select class, name, score , case when @grp = class then @row.. 2019. 8. 8.
PostgreSQL - DATEDIFF - Datetime Difference in Seconds, Days, Months, Weeks etc You can use various datetime expressions or a user-defined DATEDIFF function (UDF) to calculate the difference between 2 datetime values in seconds, minutes, hours, days, weeks, months and years in PostgreSQL. Overview PostgreSQL does not provide DATEDIFF function similar to SQL Server DATEDIFF, but you can use various expressions or UDF to get the same results. SQL Server and Sybase Postgresql .. 2019. 6. 14.
공정능력 PP, PPK, 장기, 단기 공정능력 지수인 PP, PPK에 대해서 살펴보려면 이전 포스팅인 참고하는 것이 필요합니다. - 표준편차의 개념 (https://walkingfox.tistory.com/10) 평균 그리고 표준편차의 개념 평균이라는 말은 주변에서 많이 쓰이기도 하며 보통 잘 알고 있는 수치입니다. 그런데 평균이라는 수치는 오해를 유발할 수 있는 약간 모자란 수치입니다. 예를 들어서 두 학급의 시험 성적을 예로 들어볼까요? "1.. walkingfox.tistory.com - 공정능력 CP, CPK (https://walkingfox.tistory.com/11) 공정능력 CP, CPK, 시그마수준 공정능력을 나타내는 수치(통계량)인 CP, CPK에 대해서 이야기 하고자 합니다. 이전 포스팅인 표준편차의 개념(https://.. 2019. 6. 3.
공정능력 CP, CPK, 시그마수준 공정능력을 나타내는 수치(통계량)인 CP, CPK에 대해서 이야기 하고자 합니다. 이전 포스팅인 표준편차의 개념(https://walkingfox.tistory.com/10) 에 대해서 한 번 읽어보시는 것이 도움이 될 것 같습니다. CP 라는 것은 Capability of Process 의 약자로 '공정능력'이라는 뜻입니다. 그러면 '공정의 능력'을 어떻게 측정을 하는지를 보면 이렇습니다. 생산의 규격인 USL (규격상한)과 LSL (규격하한) 사이에 얼마나 촘촘하게 데이터가 생산이 되느냐? 로 측정을 합니다. 그래서 USL과 LSL 사이에 6개의 표준편차가 들어가는 정도를 CP = 1 이라고 기준을 잡습니다. 공식으로 표현하자면 (USL - LSL) / ( 6 * 표준편차 ) 가 됩니다. 위의 그림에.. 2019. 6. 3.
PostgreSQL : Schema Backup PostgreSQL에서는 다른 database의 데이터를 쿼리할 수가 없다. 그런 이유로 개발자들은 DB Link를 설정하거나 또는 schema를 생성한다. 이 글에서는 특정 schema만 파일로 백업하는 것을 설명한다. $ pg_dump --schema=schema_name db_name > backupfile.sql 이 파일에서 다시 복원하려면 $ psql -d db_name -h localhost -U user_name < backupfile.sql psql 커멘드라인에서 스키마를 변경할때 # set search_path to schema_name psql 커멘드라인에서 스키마를 삭제할때 # drop schema schema_name cascade psql 커멘드라인에서 스키마를 소유자를 변경할때 .. 2019. 5. 14.
postgreSQL 날짜/시간 함수 날짜/시간 함수 정리 -- 날짜 시간 타입으로 캐스팅 select '20190320'::date, '2019-01-02'::date select date '2019-03-18' select to_date('01022019','MMDDYYYY'), to_date('2018-12-25', 'YYYY-MM-DD') select to_timestamp('2019-01-01 20:12:12', 'YYYY-MM-DD HH:MI:SS') -- 현재시간 날짜 구하기 select now(), current_date, current_time -- 시간 더하고 빼기 select '2019-01-01'::date + interval '2 sec', '2019-01-01'::date - interval '2 sec' selec.. 2019. 3. 19.
[해결팁] 맥(osX)환경 R에서 rJava 패키지 설치 후 에러 맥(osX) 환경 R에서 wordCloud 등의 사용 때문에 "KoNLP" 패키지를 사용하려면 먼저 "rJava" 패키지가 설치되어야 한다. 설치 후에 library(KoNLP) 로 로딩할때 에러가 날 수 있는데 경우 마다 해결책이 다른 모양이다. R에서 아래의 명령으로 해결된 경우도 있지만, dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/server/libjvm.dylib')나의 경우(macOS High Sierra, 10.13.6)는 여전히 해결이 안되었고, 아래와 같이 해당 라이브러리를 link 하면서 해결이 되었다. cd /Library/Frameworks/R.framework/Versions/3.. 2018. 8. 30.