|
Very inspiring! Wrote a similar one.- WITH maxid AS (SELECT MAX(item_id) item_id FROM items),
- t (id, next_id) AS (
- SELECT item_id, item_id
- FROM maxid
- UNION ALL
- SELECT i.item_id,
- (SELECT MAX(item_id)
- FROM items
- WHERE item_id <= i.item_id - 2000)
- FROM t, items i
- WHERE i.item_id = t.next_id
- AND i.created_date >= TRUNC(SYSDATE) - 2
- )
- SELECT *
- FROM items
- WHERE item_id >= (SELECT min(next_id) from t)
- AND item_type = 14
- AND created_date >= TRUNC(SYSDATE) - 2;
复制代码 |
|