postgre函数003—distinct的用法

distinct的用法

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

你可能感兴趣的:(postgresql函数)