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

Sắp xếp thứ tự các chuỗi trong khi nối trong oracle

để có được một danh sách đã đặt hàng, có một số cách. đơn giản nhất là:

select id, str
  from (select id, 
               wm_concat('level : ' || to_char(nvl(eventDate,SYSDATE - 365 * 100))) 
                 over (partition by id order by eventdate) str,
               row_number() over (partition by id order by eventdate desc) rn
         from Mytable)
 where rn = 1;

hoặc nếu bạn đang sử dụng tổng hợp "stragg" do người dùng xác định:

  select id, str
  from (select id, 
               string_agg('level : ' || to_char(nvl(eventDate,SYSDATE - 365 * 100))) 
                 over (partition by id order by eventdate) str,
               row_number() over (partition by id order by eventdate desc) rn
         from Mytable)
 where rn = 1;

ví dụ:

SQL> select id, str
  2    from (select id,
  3                 string_agg('level : ' || to_char(nvl(eventDate,SYSDATE - 365 * 100)))
  4                   over (partition by id order by eventdate) str,
  5                 row_number() over (partition by id order by eventdate desc) rn
  6           from Mytable)
  7   where rn = 1;

        ID STR
---------- ----------------------------------------------------------------------
         1 level : 27-MAR-08,level : 27-JAN-09,level : 02-APR-10
         2 level : 07-JUN-06,level : 02-NOV-08,level : 27-DEC-08
         3 level : 27-MAR-06,level : 02-APR-10,level : 27-JUL-10



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernate ID gia tăng oracle

  2. REGEXP_REPLACE - CHỈ xóa dấu phẩy khỏi chuỗi nếu được đặt trong () 's

  3. ORACLE - JSON Tới Bảng Cặp Giá trị Chính

  4. Cách thêm một vào chuỗi trong oracle

  5. Kết nối bằng Oracle SQL