我需要对选定的行进行更新,这些行应按存储日期的列进行排序。 我需要这样的顺序的原因是我想根据日期顺序升序值更新行。正在更新已选择的行
我很想在一个语句中得到它,如果可能的话,我需要在我的java代码中,所以我不想使用游标。
在此先感谢
我需要对选定的行进行更新,这些行应按存储日期的列进行排序。 我需要这样的顺序的原因是我想根据日期顺序升序值更新行。正在更新已选择的行
我很想在一个语句中得到它,如果可能的话,我需要在我的java代码中,所以我不想使用游标。
在此先感谢
它看起来像甲骨文拥有ROW_NUMBER和分区,所以怎么是这样的:
UPDATE MyTable
SET MyTable.Value = RowNum
FROM MyTable
JOIN
(
SELECT ID,
ROW_NUMBER() OVER (PARTITION BY UserName ORDER BY MyDate) AS RowNum
FROM MyTable AS InnerTable
) AS Hierarchy
ON MyTable.ID = Hierarchy.ID
我不得不做出了一些列来完成这项工作,因为你的例子似乎并没有给架构的足够。但是,一般来说,像这样的东西应该可以工作
我得到错误周围SET teeest.order = RowNumb - “SQL命令未正确结束”。我试过RowNum以及RowNumb别名 – xwhyz 2012-03-02 07:35:34
哈哈,哎呀。我编辑了我的答案。我从表中省略了子查询。你有没有复制那个错误? – 2012-03-02 13:49:23
错误在命令行:2列:29 错误报告: SQL错误:ORA-00933:polecenie SQL niepoprawniezakończone 00933. 00000 - “SQL命令不能正确地结束” 是绕第一ROWNUM变量 – xwhyz 2012-03-05 07:37:53
您使用的是什么RDBMS和版本? – 2012-03-01 20:44:09
我正在使用Oracle 11g – xwhyz 2012-03-01 20:46:03