guillermo_dangelo Asked: 2020-04-05 19:38:12 +0800 CST2020-04-05 19:38:12 +0800 CST 2020-04-05 19:38:12 +0800 CST postgres 中的集合返回函数 772 我一直在尝试使用 Postgres 的 generate_series() 函数来获取这样的表: 我还没有找到解决方案,所以任何想法都会受到赞赏。 postgresql 1 个回答 Voted Best Answer Lennart - Slava Ukraini 2020-04-06T04:44:06+08:002020-04-06T04:44:06+08:00 我想这样的事情会做: select x.n, y.n from generate_series(1,3) as x(n) cross join generate_series(1,4) as y(n) order by y.n, x.n 这个想法是在一组 3 个元素和一组 4 个元素之间取笛卡尔积。在这种情况下 Z_3 和 Z_4 由于 3 和 4 是互质数( gcd(3,4) = 1 ),我们可以得出结论,Z_3 和 Z_4 之间的笛卡尔积与 Z_12 同构(如果我们有格式化选项...)。有关证明,请参见zm-cross-zn-isomorphic-to-zmn。即我们可以使用 Z_12 并使用模算术来实现所需的集合: select mod(x.n,3)+1, mod(x.n,4)+1 from generate_series(1,12) as x(n) order by mod(x.n,4)+1, mod(x.n,3)+1
我想这样的事情会做:
这个想法是在一组 3 个元素和一组 4 个元素之间取笛卡尔积。在这种情况下 Z_3 和 Z_4
由于 3 和 4 是互质数( gcd(3,4) = 1 ),我们可以得出结论,Z_3 和 Z_4 之间的笛卡尔积与 Z_12 同构(如果我们有格式化选项...)。有关证明,请参见zm-cross-zn-isomorphic-to-zmn。即我们可以使用 Z_12 并使用模算术来实现所需的集合: