一句SQL實現數據隊列排名,連續的數據名次不變

 

 

最終效果實現

 

 

數據原型:

 

流水碼

生產時間

物料號

1

333

2023-02-23 19:32:43

1000019879

2

341

2023-02-28 11:35:34

1000019879

3

342

2023-02-28 13:22:02

1000019879

4

379

2023-03-01 10:09:30

1000017939

5

381

2023-03-01 13:26:52

1000017939

6

383

2023-03-01 13:32:17

1000017939

7

388

2023-03-01 15:27:50

1000019879

 

說明: 本表是演示一個生產過程,123 行是一次連續生產,然後456 行又切換到另外一個規格,到第7行又切換了一個規格,只是這個規格和第一行的一致

 

需求:

求123行的 生產批次是1 , 456的生產批次是2, 第7行的生產批次是3

即下面的效果

 

流水碼

生產時間

物料號

切換批次

1

333

2023-02-23 19:32:43

1000019879

1

2

341

2023-02-28 11:35:34

1000019879

1

3

342

2023-02-28 13:22:02

1000019879

1

4

379

2023-03-01 10:09:30

1000017939

2

5

381

2023-03-01 13:26:52

1000017939

2

6

383

2023-03-01 13:32:17

1000017939

2

7

388

2023-03-01 15:27:50

1000019879

3

 

要求是 一句SQL實現

 

 

實現過程如下:

 

demo表創建:

create table T30

(

id NUMBER not null,

created_date_time DATE not null,

item NVARCHAR2(255)

);

 

demo數據準備

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(333, TIMESTAMP '2023-02-23 19:32:43.000000', '1000019879');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(341, TIMESTAMP '2023-02-28 11:35:34.000000', '1000019879');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(342, TIMESTAMP '2023-02-28 13:22:02.000000', '1000019879');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(379, TIMESTAMP '2023-03-01 10:09:30.000000', '1000017939');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(381, TIMESTAMP '2023-03-01 13:26:52.000000', '1000017939');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(383, TIMESTAMP '2023-03-01 13:32:17.000000', '1000017939');

INSERT INTO T30

(ID, CREATED_DATE_TIME, ITEM)

VALUES(388, TIMESTAMP '2023-03-01 15:27:50.000000', '1000019879');

 

select * from T30 t;

 

 

 

 

詳細實現過程如下

https://articles.zsxq.com/id_fc6pv4krnnuu.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章