为了扩展并简化JNevill的回答,如果您只想要行号: SELECT row_number() OVER () AS row_num 请注意,OVER () 可能与 OVER (PARTITION BY 1) 执行相同的功能,意味着所有行都分配到同一个分区。这样,所有行都将具有唯一的行号。
缺少主键,您可以简单地插入一个。ROW_NUMBER() OVER (PARTITION BY some, columns ORDER BY some_other_column) as rn 这将定义一行数字,在该行上“某些列”将成为伪主键。