首页 > 解决方案 > 任何 ID 的 ROW_NUMBER(或任何其他类型的解决方案)

问题描述

我正在尝试创建一个选择来为变量分配一个与行相关的数字,但通过一个公共 id 字段,而不是所有搜索结果的相关数字。

ORDER 表的示例:

order_id   product_name
-----------------------
007        bicicle
007        bike 
007        car
008        car
008        ship
009        airplane
009        rocket
009        bicicle

我需要的?

我需要通过 order_id 在第一列添加一个相关数字,如

row_number  order_id   product_name
-----------------------------------
1           007        bicicle
2           007        bike 
3           007        car
1           008        car
2           008        ship
1           009        airplane
2           009        rocket
3           009        bicicle

我已经创建了这个选择,但是有任何错误:

SELECT
(SELECT ROW_NUMBER() OVER (order by ORDER_ID) AS ROW_NUMBER, 
 ORDER_ID, 
 PRODUCT_NAME

FROM ORDER

我该如何解决?

标签: sqlrow-number

解决方案


你有一个额外的括号并在那里选择。这应该工作

SELECT ROW_NUMBER() OVER (order by ORDER_ID) AS ROW_NUMBER, 
       ORDER_ID, 
       PRODUCT_NAME
FROM ORDER

编辑了表名...您不应该使用保留字作为表名。但如果你必须,也许做这样的事情

FROM [ORDER]


推荐阅读