我想对结果集中的行进行编号。我想要一些方法我可以有一个3个记录的结果集使用一些SQL关键字生成一个列,读取1,2,3用于记录记录......
我知道我可以创建一个带有自动增量列的临时表,但我想知道是否有一种方法可以从SQL查询中获取此信息?
SELECT row_count,
project_name,
project_id
FROM Project
我梦寐以求的“row_count”之类的东西?
答案 0 :(得分:5)
按SELECT 0
排序会为您提供一个递增列,并保存可能不必要的排序。
SELECT ROW_NUMBER() over (order by (select 0)) as row_count,
project_name,
project_id
FROM Project
答案 1 :(得分:2)
听起来像是ROW_NUMBER,analytic/ranking function。但目前还不清楚你想要以编号为基础 - 这假定为project_id
,从最小值开始:
SELECT ROW_NUMBER() OVER(ORDER BY p.project_id) AS row_count,
p.project_name,
p.project_id
FROM PROJECT p