SQL Server:如何更新位置(x,y)的单元格值

Ste*_*ger 1 sql sql-server

SQL Server问题:

我有一张appx表.1000个已存在的行和5列

如何更新列中第Y行的值?

我没有任何钥匙或条件.

Qua*_*noi 6

WITH    q AS (
        SELECT  m.*, ROW_NUMBER() OVER (ORDER BY column) AS rn
        FROM    mytable m
        )
UPDATE  q
SET     mycol = 'newvalue'
WHERE   rn = @Y
Run Code Online (Sandbox Code Playgroud)

请注意,SQL没有隐式行顺序的概念.

n'th row除非您定义排序条件(column在上面的示例中),否则没有.

在此表中:

col1 col2
1    2
2    1
Run Code Online (Sandbox Code Playgroud)

,(1, 2)排序时排第一,排序依次排col1第二col2.