Files
OpenFlare/support-files/sql/create_clickhouse.sql
T
2026-06-08 20:34:27 +08:00

46 lines
1.4 KiB
SQL

CREATE DATABASE IF NOT EXISTS linux_do_credit;
USE linux_do_credit;
CREATE TABLE IF NOT EXISTS orders
(
id UInt64,
order_name String,
merchant_order_no String,
client_id String,
payer_user_id UInt64,
payee_user_id UInt64,
amount Decimal(20, 2),
status LowCardinality(String),
type LowCardinality(String),
remark String,
payment_type LowCardinality(String),
trade_time DateTime,
expires_at DateTime,
created_at DateTime,
updated_at DateTime
)
ENGINE = ReplacingMergeTree(updated_at)
PARTITION BY toYYYYMM(created_at)
ORDER BY (created_at, id)
SETTINGS index_granularity = 8192;
-- ============================================================
-- 常用查询示例
-- ============================================================
-- 查询单个订单(加 FINAL 获取最新版本)
-- SELECT * FROM orders FINAL WHERE id = 1001;
-- 按用户统计订单
-- SELECT payer_user_id, count() AS cnt, sum(amount) AS total
-- FROM orders FINAL
-- WHERE status = 'success'
-- GROUP BY payer_user_id;
-- 按月统计(利用分区裁剪)
-- SELECT toYYYYMM(created_at) AS month, count() AS orders, sum(amount) AS volume
-- FROM orders FINAL
-- GROUP BY month
-- ORDER BY month;