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

ORACLE Chọn Riêng biệt trả về nhiều cột và ở đâu

Nếu chỉ chọn 2 cột đó (tên và cột1) là đủ, bạn có thể sử dụng:

select 
    distinct x.name, x.col1
  from table_name x
  where x.col1 = 2;

hoặc

select 
    x.name, x.col1
  from table_name x
  where x.col1 = 2
  group by (x.name, x.col1);  

Trong trường hợp bạn cần tất cả các giá trị nhưng bạn không nhớ cái nào cho nhiều bản ghi đáp ứng các tiêu chí của bạn mà bạn nhận được (ví dụ:Dan 2 2 1 hoặc Dan 2 1 3), bạn có thể sử dụng giá trị này (nó sẽ ghi lại đầu tiên trong số các bản ghi đó dựa trên thứ tự của tiêu chí):

select xx.name, xx.col1, xx.col2, xx.col3
  from (select 
      x.name, x.col1, x.col2, x.col3, dense_rank() over (partition by x.name order by x.name, x.col1, x.col2, x.col3) rnk
    from table_name x
    where x.col1 = 2) xx
  where xx.rnk = 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo hàm PL / SQL trong cơ sở dữ liệu Oracle

  2. Quy trình gọi ASP cổ điển của Oracle với Trình điều khiển OraOleadb

  3. Xóa các hàng có ràng buộc khóa ngoại

  4. Làm thế nào để tránh lưu trữ thông tin đăng nhập để kết nối với Oracle bằng JDBC?

  5. Ngày Oracle có vẻ bằng