最終效果實現
數據原型:
| 流水碼 | 生產時間 | 物料號 |
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