distinct的用法
- 去重;关键字distinct去重功能 在其他数据库(oracle,mysql)是存在;当然postgresq也有这个功能
- 跟on一起用; 使用DISTINCT ON实现用窗口函数实现的取第一名的功能
这个功能oracle,mysql是没有的;当然它们有其他的分析函数可以替换;顶替;例如row_number, fisrt_values等等 - distinct on的用法
实现从每个分组中取最XXX的一条数据
语法:select distinct on (分组列名) 列名[, 列名…] from 表名
distince on作用: 组内去重————把记录根据" (分组列名)" 的值进行分组,并返回分组后每一组的第一行。
a. 如果没有使用order by子句,则返回的第一条数据是随机的。
b.使用了order by子句后,则返回的第一条数据是确定的,可以实现取最XXX的一条数据