我使用SQL Server 2008和我的SQL查询看起来是这样的: select * from (
select row_number() over(PARTITION by tb01.P_USER order by tb04.P_data7 desc) Row
,tb01.P_USER as 'enterpriseID'
,tb01.P_ID as 'greenhouseI
正如在这个论坛(例如here),可以使用在MySQL变量别处讨论模拟ROW_NUMBER()以上(分区由...顺序由...)的功能中的MS SQL Server。例如,像这样的代码: SELECT
col1,
col2,
ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS rowNum
(SELECT
(SELECT ROW_NUMBER() OVER (order by t.NotificationID)) as RowNumber,
[NotificationID],[ProjectID],[TeamMemberID],[OperationType],
[Hours],[Occurance],[Period],[NotificationT
我试图将新列添加到现有表中,其中值是行号/等级。我需要一种方法来生成行号/等级值,并且我还需要限制受影响的行 - 在这种情况下,字符串中存在子字符串。 现在我有: UPDATE table
SET row_id=ROW_NUMBER() OVER (ORDER BY col1 desc) FROM table
WHERE CHARINDEX('2009',col2) > 0
而且我得到这个