运行循环到SQL查询

时间:2016-06-10 09:45:42

标签: sql postgresql

我想要一个sql select查询来创建一个表并添加一个值自动增加的列:

例如:

Create table Core 
as 
SELECT w.id, w.core_name,CAST('MD_1' AS CHARACTER VARYING) AS INDEX 
from myTable;

字段INDEX将采用默认值'md_1'

但我想要的是1根据记录自动递增 结果我想有类似的东西

ID|core_name|index|
 1|      xxx| MD_1
 2|      xxx| MD_2
 3|      xxx| MD_3

1 个答案:

答案 0 :(得分:0)

我们并不完全清楚你在问什么,但如果你只是想拥有' md _'后跟行号,最简单的解决方案是:

('md_' || row_number() over (rows unbounded preceding)) as "index"

我不完全确定的原因是SQL并没有真正具有记录集的自动增量值的概念。相反,我们正在做的是根据集合的当前分组和排序抓取行号并将其附加到值。这是相似但概念上相当不同,因为该概念也可用于许多其他情况(例如运行总计)。