【发布时间】:2020-04-12 18:22:32
【问题描述】:
我有两张桌子
CREATE TABLE Posts
(
Id BIGSERIAL NOT NULL,
Content TEXT NOT NULL
);
CREATE TABLE Ads
(
Id BIGSERIAL NOT NULL,
Content TEXT NOT NULL
);
我需要将这两个表按比例组合起来,应用ORDER BY和OFFSET。 1 行来自Ads 表中的每个10 行来自Posts 表有什么办法可以做到这一点吗?。
最后一行应该是 10 个帖子 - 1 个广告 - 10 个帖子 - 1 个广告。如何通过交错不同选择的结果来实现两张表的合并
普通UNION 将合并所有行而不交错
SELECT * FROM (SELECT Id, Content, 'Post' AS Type FROM Posts
UNION
SELECT Id, Content, 'Ads' AS Type FROM Ads) AS sel
LIMIT 10;
【问题讨论】:
标签: sql postgresql sql-order-by union