Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

LIMIT / OFFSET trong Oracle 11G

Câu trả lời ban đầu đã bị xóa, không khả thi

Tôi cảm thấy điều này có thể thực hiện được trong một câu lệnh SQL duy nhất, nhưng cho đến nay, sự kết hợp giữa nhu cầu về một truy vấn con tương quan và nhu cầu về một số loại chức năng phân tích đã khiến mọi thứ tôi thử đều thất bại.

Đây là một phương pháp thủ tục mà tôi nghĩ sẽ làm được những gì bạn muốn:

DECLARE
  CURSOR t IS
  SELECT LEAD(contractid,4) OVER (PARTITION BY assetid ORDER BY lasttradedate ASC) lead_contractid
    FROM table1
    FOR UPDATE;
BEGIN
  FOR r IN t LOOP
     UPDATE table1 SET nextcontractid = r.lead_contractid
       WHERE CURRENT OF t;
  END LOOP;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tìm kiếm một phần từ mysql

  2. Lỗi MySQL:Giá trị nằm ngoài phạm vi cho cột 'số tiền' ở hàng 1

  3. ID MySQL PDO được chèn lần cuối

  4. script để chuyển đổi tệp sql mysql dump thành định dạng có thể được nhập vào sqlite3 db

  5. Laravel:Lấy đối tượng từ bộ sưu tập theo thuộc tính