摘要:
接上文,从 simple_select 中的 target_list ,再看target_list部分的内容:/***************************************************************************** * * target list for SELECT * ... 阅读全文
摘要:
simple_select: SELECT opt_distinct target_list into_clause from_clause where_clause group_clause having_clause window_clause { ... 阅读全文
摘要:
./src/backend/parser/gram.y 中有如下的一段:opt_distinct: DISTINCT { $$ = list_make1(NIL); } | DISTINCT ON '(' expr_list ')' { $$ = $4; } | ALL { $$ = NIL; } | /*EMPTY*/ { $$ = NIL; } ; opt_sort_clause: sort_clause { $$ = $1;} | /*EMPTY*/ { $$ = NIL; ... 阅读全文
摘要:
对于PostgreSQL的语法分析,修改其 gram.y后,opt_distinct: DISTINCT { $$ = list_make1(NIL); } | DISTINCT ON '(' expr_list ')' { $$ = $4; } | ALL { $$ = NIL; } | /*EMPTY*/ { $$ = NIL; }simpl... 阅读全文
摘要:
对于 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');insert into a6 values(2, '004');select distinct on (id) id, name from a6;id | name---+-- 阅读全文