SYSTEM_CORE_VIEWER
이벤트
Target Object / Identifier
stats_direction_01_1m
업비트 통계 1분봉
업비트 통계 테이블을 1분 단위 복사
Exchange
업비트
Type
이벤트
Form
복사
DB TABLE
stats_direction_01_1m
TABLE DAEMON
DB EVENT
stats_direction_01_1m
[STATUS] INACTIVE
[ID] #34
[TABLE] stats_direction_01_1m
[ENGINE] InnoDB
[ROWS] 706,084
DB TABLE
Table Status
| Table Name | stats_direction_01_1m |
| Engine | InnoDB |
| Rows | 706,084 |
| Data Length | 131,776,512 bytes |
| Index Length | 30,507,008 bytes |
| Comment | |
| Created | 2026-04-11 09:29:22 |
| Updated | 2026-04-20 02:29:00 |
| # | Column Name | Type | Null | Key | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| 1 | wr_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | |
| 2 | market | varchar(20) | NO | MUL | NULL | 마켓 구분 (예: BTCUSDT) | |
| 3 | wr_datetime | datetime | NO | MUL | NULL | 데이터 수집 시점 | |
| 4 | day_of_week | tinyint(4) | YES | - | NULL | STORED GENERATED | 요일 0~6 |
| 5 | side_plus | bigint(20) | NO | - | 0 | 매수측 방향 | |
| 6 | side_minus | bigint(20) | NO | - | 0 | 매도측 방향 | |
| 7 | side_total | bigint(20) | NO | - | 0 | 매매 전체 방향 | |
| 8 | side_plus_cnt | bigint(20) unsigned | NO | - | 0 | 매수 방향성 | |
| 9 | side_minus_cnt | bigint(20) | NO | - | 0 | 매도 방향성 | |
| 10 | side_total_cnt | bigint(20) | NO | - | 0 | ||
| 11 | side_avg | double | YES | - | NULL | 거래량 평균치 | |
| 12 | acc_bid_volume | double | NO | - | 0 | 누적 매수 거래량 | |
| 13 | acc_ask_volume | double | NO | - | 0 | 누적 매도 거래량 | |
| 14 | net_vol | double | NO | - | 0 | 순유입(거래량) = acc_bid_volume - acc_ask_volume | |
| 15 | trade_price | decimal(20,8) | YES | - | 0.00000000 | 현재 시장 가격 | |
| 16 | change_rate | decimal(10,5) | YES | - | 0.00000 | 업비트 실시간 등락률 | |
| 17 | chg_dir | tinyint(4) | NO | - | 0 | 등락 방향(+1/-1/0) | |
| 18 | chg_dir_sum | bigint(20) | NO | - | 0 | 등락 방향 누적합(= chg_dir 누적) | |
| 19 | chg_up_streak | int(11) | NO | - | 0 | 상승 연속 카운트(+ 연속이면 +N, 아니면 0) | |
| 20 | chg_down_streak | int(11) | NO | - | 0 | 하락 연속 카운트(- 연속이면 +N, 아니면 0) | |
| 21 | chg_up_streak_max | int(10) unsigned | NO | - | 0 | 상승 연속 최장 기록(최대값) | |
| 22 | chg_down_streak_max | int(10) unsigned | NO | - | 0 | 하락 연속 최장 기록(최대값) | |
| 23 | chg_rate_avg | double | NO | - | 0 | 등락률 흐름 평균(누적 평균) | |
| 24 | chg_rate_avg_cnt | bigint(20) unsigned | NO | - | 0 | 등락률 평균 분모 카운트 |
DB EVENT
Event Scheduler Status (stats_direction_01_1m)
| Status / Interval | ENABLED | Every 1 MINUTE |
| Last Executed | 2026-04-20 02:29:00 |
Event SQL Definition
INSERT INTO upbit_data.stats_direction_01_1m (
market, wr_datetime,
side_plus, side_minus, side_total,
side_plus_cnt, side_minus_cnt, side_total_cnt,
side_avg, acc_bid_volume, acc_ask_volume, net_vol,
trade_price, change_rate,
chg_dir, chg_dir_sum,
chg_up_streak, chg_down_streak,
chg_up_streak_max, chg_down_streak_max,
chg_rate_avg, chg_rate_avg_cnt
)
SELECT
s.market,
s.wr_datetime,
s.side_plus, s.side_minus, s.side_total,
CASE WHEN (s.side_total_cnt - IFNULL(pm.side_total_cnt, s.side_total_cnt)) > 0 THEN 1 ELSE 0 END AS side_plus_cnt,
CASE WHEN (s.side_total_cnt - IFNULL(pm.side_total_cnt, s.side_total_cnt)) < 0 THEN -1 ELSE 0 END AS side_minus_cnt,
s.side_total_cnt,
s.side_avg, s.acc_bid_volume, s.acc_ask_volume, s.net_vol,
s.trade_price, s.change_rate,
CASE
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN 1
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN -1
ELSE 0
END AS chg_dir,
s.chg_dir_sum,
CASE
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN IFNULL(pm.chg_up_streak, 0) + 1
ELSE 0
END AS chg_up_streak,
CASE
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN IFNULL(pm.chg_down_streak, 0) + 1
ELSE 0
END AS chg_down_streak,
GREATEST(
IFNULL(pm.chg_up_streak_max, 0),
CASE
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN IFNULL(pm.chg_up_streak, 0) + 1
ELSE 0
END
) AS chg_up_streak_max,
GREATEST(
IFNULL(pm.chg_down_streak_max, 0),
CASE
WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN IFNULL(pm.chg_down_streak, 0) + 1
ELSE 0
END
) AS chg_down_streak_max,
s.chg_rate_avg, s.chg_rate_avg_cnt
FROM upbit_data.stats_direction_01 s
LEFT JOIN (
SELECT market, MAX(wr_id) AS max_id
FROM upbit_data.stats_direction_01_1m
GROUP BY market
) last ON last.market = s.market
LEFT JOIN upbit_data.stats_direction_01_1m pm
ON pm.market = last.market AND pm.wr_id = last.max_id
WHERE s.wr_datetime >= NOW() - INTERVAL 2 MINUTE
AND NOT EXISTS (
SELECT 1
FROM upbit_data.stats_direction_01_1m m
WHERE m.market = s.market
AND m.wr_datetime = s.wr_datetime
)