【发布时间】:2018-10-03 08:46:59
【问题描述】:
我用的是SQLite 3,我有一个MyTable表,如下:
Create table mytable (ID as INTEGER, OrderID as INTEGER, a as INTGER, b as INTEGER);
Insert into mytable (ID, OrderID,a,b) values (1, 1,1,1);
Insert into mytable (ID, OrderID,a,b) values (1, 2,1,2);
Insert into mytable (ID, OrderID,a,b) values (2, 1,1,3);
Insert into mytable (ID, OrderID,a,b) values (2, 3,2,1);
Insert into mytable (ID, OrderID,a,b) values (3, 1,2,3);
现在如果我使用以下语句:
Select * from mytable ORDER BY a desc, b desc;
我将以不同的顺序获取所有行,如下所示:
(3, 1, 2, 3);
(2, 3, 2, 1);
(2, 1, 1, 3);
(1, 2, 1, 2);
(1, 1, 1, 1);
现在我想将订单ID更新为上面结果中出现的行的序号,如下:
(3, 1, 2, 3);
(2, 2, 2, 1);
(2, 3, 1, 3);
(1, 4, 1, 2);
(1, 5, 1, 1);
怎么做?
【问题讨论】:
-
4,5 如何进入结果集
-
4 表示结果行集中的第 4 行,5 表示结果行集中的第 5 行。
标签: sql sqlite row-number