#!/usr/bin/env python3 """025980 id 전후 + kiwoom 공백 구간만 (짧게).""" from __future__ import annotations import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] if str(ROOT) not in sys.path: sys.path.insert(0, str(ROOT)) from database import TradeDB db = TradeDB() print("== id 63275500~63275520 ==") rows = db.conn.execute( "SELECT id, source, code, tick_time, tick_time_raw, recv_ts, price, volume " "FROM ws_ticks WHERE id BETWEEN %s AND %s ORDER BY id", (63275500, 63275520), ).fetchall() for r in rows: print(dict(r)) print("\n== kiwoom 09:05:06~09:05:40 recv 초별 ==") rows = db.conn.execute( "SELECT recv_ts, COUNT(*) n, COUNT(DISTINCT code) codes, " "MIN(tick_time) min_tt, MAX(tick_time) max_tt " "FROM ws_ticks WHERE source=%s AND recv_ts >= %s AND recv_ts <= %s " "GROUP BY recv_ts ORDER BY recv_ts", ("kiwoom", "2026-08-19 09:05:06", "2026-08-19 09:05:40"), ).fetchall() for r in rows: print(dict(r)) print("\n== 025980 kiwoom tick_time distinct 09:05:06~09:05:34 ==") rows = db.conn.execute( "SELECT tick_time, tick_time_raw, COUNT(*) n, MIN(recv_ts) min_r, MAX(recv_ts) max_r " "FROM ws_ticks WHERE source=%s AND code=%s AND recv_ts >= %s AND recv_ts <= %s " "GROUP BY tick_time, tick_time_raw ORDER BY min_r", ("kiwoom", "025980", "2026-08-19 09:05:06", "2026-08-19 09:05:34"), ).fetchall() for r in rows: print(dict(r)) print("\n== kis 같은 초 025980 있는지 ==") rows = db.conn.execute( "SELECT COUNT(*) n, MIN(tick_time) min_tt, MAX(tick_time) max_tt, " "MIN(recv_ts) min_r, MAX(recv_ts) max_r FROM ws_ticks " "WHERE source=%s AND code=%s AND recv_ts >= %s AND recv_ts <= %s", ("kis", "025980", "2026-08-19 09:05:06", "2026-08-19 09:05:34"), ).fetchone() print(dict(rows))