PostgreSQL DISTINCT ON】的更多相关文章

select语句中,使用distinct关键字,在处理select list后,结果表可以选择消除重复的行.在SELECT之后直接写入DISTINCT关键字以指定此关键字: SELECT DISTINCT select_list ... (可以使用关键字ALL代替DISTINCT来指定保留所有行的默认行为)   显然,如果两行至少有一个列值不同,则认为它们是不同的.在此比较中,将空值视为相等.   另外,一个任意表达式可以确定哪些行被认为是不同的: SELECT DISTINCT ON (exp…
https://stackoverflow.com/questions/3800551/select-first-row-in-each-group-by-group select DISTINCT ON (creatorid) * from twhere status = '1'ORDER BY creatorid, createtime desc 根据创建者分组,取每个创建者最早创建的记录.…
1. 去重:关键字distinct去重功能  在其他数据库(oracle,mysql)是存在:当然postgresql也有这个功能 [postgres@sdserver40_210 ~]$ psql mydb lottu psql () Type "help" for help. mydb=> select * from trade; tradeno | accountid | fee | game_id ---------+------------+-----+--------…
零除的处理 用NULLIF(col, 0)可以避免复杂的WHEN...CASE判断, 例如 ROUND(COUNT(view_50.amount_in)::NUMERIC / NULLIF(COUNT(view_50.amount_out)::NUMERIC, 0),2) AS out_divide_in, 使用 COLA / NULLIF(COLB,0) 后, 如果 COLB 为0, 产生的输出就是 NULL GENERATED 字段, GENERATED..STORED 对于读多写少的表,…
示例表 table t_ex; c1 | c2 ----+---- 2 | B 4 | C 6 | A 2 | C 4 | B 6 | B 2 | A 4 | B 6 | C 2 | C 以下SQL语句有序地返回"c1"列中唯一值: select distinct on(c1) * from abce; 对于c2列,会根据c1的唯一性,从表中找到的第一个值. postgres=# select distinct on(c1) * from abce; c1 | c2 ----+----…
摘录自:http://www.cnblogs.com/gaojian/archive/2012/09/05/2671381.html 对于 select distinct on , 可以利用下面的例子来理解: create table a6(id integer, name varchar(10)); insert into a6 values(1, ' 001'); insert into a6 values(1, '002'); insert into a6 values(2, '003')…
select语法 [ WITH [ RECURSIVE ] with_query [, ...] ] SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] [ * | expression [ [ AS ] output_name ] [, ...] ] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY grouping_element [, ...] ] [ HAVING…
项目上需要整理目前数据库的数据字典文档.项目不规范,这种文档只要后期来补.这么多张表,每个字段都写到word文档里真心头大.就算前面写了个查询表结构的sql,但是最后整理到word里还是感觉有点麻烦.以前写过一个oracle直接生成表结构的html文档,所以现在也想再弄个postgresql 版本的.查了一番文档,发现pg9.4不支持写文件.无奈放弃.最后选了一个这种方案,利用sql脚本中打印消息的功能.把生成的html文档打印出来,最后拷贝html文档代码到文本文件中保存,虽然比oracle那…
1.Postgresql查询前几条记录的SQL语句 select * from table where ...... LIMIT N  ; 2.SQL limit integer offset integer :经常用到在数据库中查询中间几条数据的需求. 比如下面的sql语句: ① select * from testtable limit 2,1; ② select * from testtable limit 2 offset 1; 这两个都是能完成需要,但是他们之间是有区别的: ① 是从数…
1.1. 安装     自然,在你想开始使用 PostgreSQL 之前, 你必须安装它.PostgreSQL 很有可能 已经安装到你的节点上了,因为它包含在你的操作系统的发布里, 或者是系统管理员已经安装了它.如果是这样的话,那么你应该从 操作系统的文档或者你的系统管理员那里获取如何访问 PostgreSQL 的信息. 如果你不清楚 PostgreSQL 是否已经安装, 或者不知道你能否用它(已经安装的)做自己的实验,那么你就可以自己安装. 这么做并不难,并且是一次很好的练习. Postgre…