DuckDB 实战笔记 - 2026-09-12

用 DuckDB 30 秒搞定一年的账单分析,不用 Excel 也不用数据库

每月手动对账、算分类占比、找异常消费?我用一份 CSV + 一段 SQL 就全自动了。

场景:你从银行导出 transactions.csv,字段:date, category, amount, note。想看:每月净支出、Top 消费类别、超过 500 元的异常单。

-- 直接读 CSV,无需导入
CREATE TABLE tx AS
SELECT date::DATE AS d, category, amount::DOUBLE AS amount, note
FROM read_csv_auto('transactions.csv');

-- 1) 每月净支出
SELECT strftime(d, '%Y-%m') AS month,
       ROUND(SUM(amount), 2) AS net
FROM tx GROUP BY 1 ORDER BY 1;

-- 2) Top 消费类别
SELECT category, ROUND(SUM(amount), 2) AS total
FROM tx GROUP BY 1 ORDER BY total DESC LIMIT 5;

-- 3) 异常大额支出
SELECT d, category, amount, note
FROM tx WHERE amount > 500 ORDER BY amount DESC;

为什么用 DuckDB:不用装数据库、不用起服务,直接 read_csv_auto 读文件;聚合几万行毫秒级;还能一条 SQL 同时查 CSV 和 Parquet。Excel 卡、Pandas 要写一堆代码、SQLite 还得先建表导数据——DuckDB 直接省掉这些。

立刻能用:把 CSV 换成你自己的账单,改下金额阈值,跑一遍就有结果。想每周自动跑?套个 cron 或 GitHub Actions 即可。

📺 Watch video tutorials → Olap Studio YouTube

Subscribe for more DuckDB & AI automation tutorials

使用 Hugo 构建
主题 StackJimmy 设计

⚠️ 本站为独立社区项目,与 DuckDB 基金会及 DuckDB 官方项目无任何从属、背书或赞助关系。

"DuckDB" 是 DuckDB 基金会的注册商标,本站仅以事实描述方式使用该名称。

本站内容仅供教育与社区推广用途,不构成任何商业服务。