跳至主要內容
PostgreSQL进阶特性实战:窗口函数、CTE与JSONB

前言

PostgreSQL 被称为"最先进的开源数据库",它的强大不止于基础 CRUD。窗口函数、CTE 递归查询和 JSONB 是 PG 中最让我印象深刻的三个进阶特性。学会它们,你的 SQL 能力将上升一个台阶——很多原本需要在 Java 代码里写几十行循环的逻辑,一句 SQL 就能优雅搞定。

本文通过大量实战案例,带你深入掌握这些特性,并展示如何在 Java/MyBatis 中灵活使用。


一、窗口函数:数据分析的瑞士军刀

1.1 什么是窗口函数

窗口函数(Window Function)在不折叠行的前提下进行聚合计算。与 GROUP BY 不同,窗口函数保留了每一行的独立性,同时可以引用"窗口"内的其他行。


郑天祺大约 17 分钟数据库MySQLPostgreSQL数据库
PostgreSQL vs MySQL:一个 Java 后端的视角

PostgreSQL vs MySQL:一个 Java 后端的视角

前言

作为一个 Java 后端开发者,数据库选型几乎是每个项目启动时都要面对的灵魂拷问。PostgreSQL 和 MySQL 作为开源关系型数据库的双雄,各自拥有庞大的用户群体和生态系统。本文从 Java 后端的视角出发,深入对比两者的核心差异,帮助你在实际项目中做出更明智的选型决策。

一、历史与定位

1.1 MySQL 的发展历程

MySQL 诞生于 1995 年,由瑞典公司 MySQL AB 开发。其设计初衷是追求简单、快速、易用,最早定位为中小型 Web 应用的数据库解决方案。2008 年被 Sun Microsystems 收购,2009 年随 Sun 一起归入 Oracle 旗下。


郑天祺大约 17 分钟数据库MySQLPostgreSQL数据库