1
我最近查找了一个查询,该查询返回连续数字的表中未使用的数字。 (有些可能会被删除并重新使用。)由于其他两列的差异导致的列
它显示我的结果pnr_from
号码为pnr_to
号码。现在我想添加一个“多少”颜色。
是否可以通过使用其他两个别名来添加此色彩? (见注释行)
SELECT (
SELECT COALESCE(MAX(pnr)+1,1)
FROM pord
WHERE pnr < p.pnr
) AS pnr_from,
p.pnr - 1 AS pnr_to
-- (pnr_to - pnr_from) AS how_many <-------- ERROR: coloumn "pnr_to" doesn't exist
FROM pord p
WHERE p.pnr != 1 AND NOT EXISTS (
SELECT 1
FROM pord p2
WHERE p2.pnr = p.pnr - 1
)
AND pnr > 300 AND pnr < 600
ORDER BY von
我一定要完整的查询添加为一个子查询的第一个SELECT子句中或有另一种方式?
使用'lag()'函数可以使得这样的声音变得更简单。你能添加一些样本数据和预期的输出吗? –
这看起来也是可能的。我会尝试,但我会接受波希米亚的答案,因为我还不知道我会扩展我的SELECT多少。谢谢! – Trollwut