반응형

오라클

아래와 같이 구분자로 구분된 여러 항목이 들어 있는 문자열을 파싱하여 표 형태로 출력해 주는 쿼리 입니다.

EX) '1/1/W/101_1/2/H/201_1/3/H/301_2/3/H/501_3/4/H/601_4/5/H/701'

Row 구분자 :  "_"

Column 구분자 : "/"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  SELECT TD.RNUM
  , MAX(CASE WHEN TD.LV = 1 THEN TD.TXT ELSE NULL END) COL1
  , MAX(CASE WHEN TD.LV = 2 THEN TD.TXT ELSE NULL END) COL2
  , MAX(CASE WHEN TD.LV = 3 THEN TD.TXT ELSE NULL END) COL3
  , MAX(CASE WHEN TD.LV = 4 THEN TD.TXT ELSE NULL END) COL4
  FROM (
  SELECT TB.RNUM, TC.LV ,regexp_substr(TB.TXT, '[^/]+'1, TC.LV) TXT
  FROM (
  SELECT rownum RNUM,regexp_substr(TA.TXT, '[^_]+'1, LEVEL) TXT
  FROM (SELECT '1/1/W/101_1/2/H/201_1/3/H/301_2/3/H/501_3/4/H/601_4/5/H/701' TXT FROM dual) TA
  CONNECT BY LEVEL <= length(regexp_replace(TA.TXT, '[^_]+',''))+1
  ) TB, (SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= 4) TC ) TD
  GROUP BY TD.RNUM
  ORDER BY TD.RNUM ASC;
cs

▶ 출력 결과


기타 문의 사항은 덧글로 부탁 드립니다.


반응형
반응형

안녕하세요. 

주식 정보를 수집할 때 사용한 파이썬 소스 공유 드립니다.

 

원하시는 분이 계셔서 공유하게 되었습니다.


책하나 사서 공부 했기에 , 구조가 이쁘지 않을 수 있습니다. 감안하고 받아 주세요


이클립스 프로젝트로 첨부 합니다.


Stock_Crawling 2.7z


>> 프로젝트 구조



반응형
반응형

아래 구조와 같이 되어있는 테이블에서 

Drag & Drop 으로 특정 항목의 위치를 변경 하였을 때 

순서를 재 정렬 해주는 쿼리 입니다.

ex) [크롤링] 항목을 3번째 로 이동할 경우

i_to_position = 3, i_from_position = 5


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
CREATE DEFINER=`root`@`%` PROCEDURE `sp_upd_category_order`(
      IN i_id                 varchar(20)
      , IN i_group_code        int
      , IN i_to_position    int
      , IN i_from_position    int
      , OUT o_result        int
    )
    DETERMINISTIC
BEGIN
 
/*
    카테고리 정렬 순서 변경
*/
    set o_result = -1;
    
    -- 지정 카테고리의 순번을 i_to_position 로 설정
    update tbl_group_info set ordinal_position = i_to_position
    where id=i_id and group_code = i_group_code ;
 
    -- 기준 순서 위쪽 정렬
    update tbl_group_info ta inner join 
        (
            select id, group_code, (@rownum := @rownum +1) num
            from tbl_group_info, (select @rownum := 0) ta
            where id=i_id and group_code!=i_group_code and ordinal_position < i_to_position+i_from_position
            order by ordinal_position asc
        ) tb
    on ta.id = tb.id and ta.group_code=tb.group_code
    set ta.ordinal_position = tb.num;
    
 
    -- 기준 순서 아래쪽 정렬
    update tbl_group_info ta inner join 
        (
            select id, group_code, (@rownum := @rownum +1) num
            from tbl_group_info, (select @rownum := 0) ta
            where id=i_id and group_code!=i_group_code and ordinal_position >= i_to_position
            order by ordinal_position asc
        ) tb
    on ta.id = tb.id and ta.group_code=tb.group_code
    set ta.ordinal_position = tb.num + i_to_position;
 
    set o_result = 1;
    
 END
cs


반응형
반응형

안녕하세요. 다음 코스닥 증시 데이터 중 기업의 일자별 기관/외국인 보유 현황 데이터 입니다.


▶ 다음 주식 정보 : http://finance.daum.net/item/quote.daum?code=005930


▶ 업체 코드 정보 : http://devse.tistory.com/attachment/cfile8.uf@99715A3A5A4769592010C0.csv

▶ 보유 현황 데이터

- 컬럼 : 

stock_code : 기업 코드      basic_date : 기준일       foreigner_share_cnt : 외국인 보유 주식 수

foreigner_share_ratio : 외국인 지분율(%)      foreigner_buying_cnt : 외국인 순매수량       organization_buying_cnt : 기관 순매수량

yesterday_ratio 전일비           updown_ratio : 등락률(%)


코스닥_보유현황.7z.001

코스닥_보유현황.7z.002

코스닥_보유현황.7z.003


궁금하신 사항은 댓글로 남겨 주세요.

반응형
반응형

mysql 의 조회 결과를 CSV 파일로 출력하는 쿼리 입니다.

조회된 결과에서 컬럼명을 추가해 주기 위하여 union을 사용하였습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT 'stock_code''basic_date''open_value''high_value''low_value'
    , 'close_value''yesterday_ratio''updown_ratio''volume_value'
UNION ALL
SELECT ta.stock_code, ta.basic_date, ta.open_value, ta.high_value, ta.low_value
        , ta.close_value, ta.yesterday_ratio, ta.updown_ratio, ta.volume_value
FROM tbl_stock_history_daum ta 
inner join (SELECT stock_code 
            FROM tbl_coporation_info 
            where stock_type='KOSDAQ' order by stock_code asc limit 0,50) tb
on ta.stock_code = tb.stock_code
INTO OUTFILE '/Volumes/USB128G/DataBase/tbl_stock_history_daum_KOSDAQ_000250_011040.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
cs


궁금하신 사항은 댓글로 남겨 주세요.

반응형
반응형

안녕하세요. 코스피 에 이어 이번에는 코스닥 증시 데이터를 수집해 보았습니다.

원하는 분들이 계셔셔, 바쁜 시간 내서 작업해 보았습니다.

유용하게 사용해 주셨으면 좋겠습니다.


▶ 다음 주식 정보 : http://finance.daum.net/item/quote.daum?code=005930

▶ 업체 코드 정보 : http://bitly.kr/LbCuTB  -- 2019-07-07 링크 수정


▶ 7Zip 분할 압축 입니다.

    CSV 컬럼 설명 , A: 업체코드, B: 일자, C: 시가, D:고가, E:저가, F:종가, G:전일비, H:등락률, I:거래량

MySQL 백업 파일은 사용하시는 분들이 없는것 같아 제외 하였습니다. 필요하신 분은 말씀해 주세요.

코스닥.7z.001

코스닥.7z.002

코스닥.7z.003

코스닥.7z.004


▶ MySQL 백업파일 : 7zip 분할 압축

db_stock_20180617_010101.7z.001

db_stock_20180617_010101.7z.002

db_stock_20180617_010101.7z.003

db_stock_20180617_010101.7z.004

db_stock_20180617_010101.7z.005

db_stock_20180617_010101.7z.006

db_stock_20180617_010101.7z.007

db_stock_20180617_010101.7z.008

db_stock_20180617_010101.7z.009

db_stock_20180617_010101.7z.010

db_stock_20180617_010101.7z.011

db_stock_20180617_010101.7z.012

db_stock_20180617_010101.7z.013

db_stock_20180617_010101.7z.014

db_stock_20180617_010101.7z.015


반응형

+ Recent posts