diff --git "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/to_root.md" "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/to_root.md" index eb0b03114ccb0aacfb9addac74f9a8ec2109e4b9..fa140c56017a39c335c49a893453b53b99bd6ed5 100644 --- "a/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/to_root.md" +++ "b/data/2.PostgreSQL\344\270\255\351\230\266/2.\346\234\215\345\212\241\347\253\257\347\274\226\347\250\213/5.CTE/to_root.md" @@ -23,7 +23,7 @@ with recursive t(id, pid, content) as ( from node where id = $1 union all - select node.id, node.pid, node.level + select node.id, node.pid, node.content from node join t on node.id = t.pid) select node.id, node.pid, content diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/distinct.md" "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/distinct.md" index 0e661f628f3ede3e4cfa8bc04c6631dcf87f0966..f94e059649f6cb6ca1e623541b6171663a4b8acc 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/distinct.md" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/2.\351\253\230\347\272\247\346\225\260\346\215\256\347\261\273\345\236\213/3.\345\207\275\346\225\260/distinct.md" @@ -7,7 +7,8 @@ ```postgresql create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as $$ - select jsonb_agg(distinct (value)) from jsonb_array_elements(a || b) +select jsonb_agg(distinct (value)) +from jsonb_array_elements(a || b) $$ language sql ``` @@ -16,31 +17,35 @@ $$ language sql ### A ```postgresql -create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as $$ - select a || b +create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as +$$ +select a || b $$ language sql ``` ### B ```postgresql -create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as $$ -return jsonb_agg(distinct(value)) from jsonb_array_elements(a||b) -$$ language sql +create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as +$$ return jsonb_agg(distinct(value)) from jsonb_array_elements(a||b) +$$ + language sql ``` ### C ```postgresql -create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as $$ - return next jsonb_agg(distinct(value)) from jsonb_array_elements(a||b) -$$ language sql +create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as +$$ return next jsonb_agg(distinct(value)) from jsonb_array_elements(a||b) +$$ + language sql ``` ### D ```postgresql -create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as $$ - select a + b; +create function jsonb_distinct_merge(a jsonb, b jsonb) returns jsonb as +$$ +select a + b; $$ language sql ``` \ No newline at end of file diff --git "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/continuous.md" "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/continuous.md" index 299dfd3ff758c99c889b1edef6cbdce37a2767cc..ac722652dbd799a3e364eb7e8a258ebbb2533247 100644 --- "a/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/continuous.md" +++ "b/data/3.PostgreSQL\351\253\230\351\230\266/3.SQL\351\253\230\347\272\247\346\212\200\345\267\247/1.\351\200\222\345\275\222\346\237\245\350\257\242/continuous.md" @@ -12,7 +12,7 @@ create table orders ); ``` -后续的结算系统需要连续的获取订单,以便处理一些顺序敏感的业务。但是撮合发生在很多个异步节点上,它们只能保证最终会将 所有订单都保存到 orders 表,确保 id 列最终是连续的,但是最新插入的一段记录集有可能不连续。而我们希望结算系统成批 +后续的结算系统需要连续的获取订单,以便处理一些顺序敏感的业务。但是撮合发生在很多个异步节点上,它们只能保证最终会将所有订单都保存到 orders 表,确保 id 列最终是连续的,但是最新插入的一段记录集有可能不连续。而我们希望结算系统成批 的读取数据,以优化性能,那么在结算系统有它最后处理的订单id的前提下,下面哪一个查询可以确保从这个id向前读取 id 连续 的一批订单? ## 答案