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

Cách sắp xếp các bộ giá trị riêng biệt trong một truy vấn PostgreSQL

ĐẶT HÀNG THEO ngoài cùng bên trái các mục không thể trái với các mục của DISTINCT mệnh đề. Tôi trích dẫn hướng dẫn về DISTINCT :

Hãy thử:

SELECT *
FROM  (
    SELECT DISTINCT ON (c.cluster_id, feed_id) 
           c.cluster_id, num_docs, feed_id, url_time 
    FROM   url_info u
    JOIN   cluster_info c ON (c.cluster_id = u.cluster_id) 
    WHERE  feed_id IN (SELECT pot_seeder FROM potentials) 
    AND    num_docs > 5
    AND    url_time > '2012-04-16'
    ORDER  BY c.cluster_id, feed_id, num_docs, url_time
           -- first columns match DISTINCT
           -- the rest to pick certain values for dupes
           -- or did you want to pick random values for dupes?
    ) x
ORDER  BY num_docs DESC;

Hoặc sử dụng GROUP BY :

SELECT c.cluster_id
     , num_docs
     , feed_id
     , url_time 
FROM   url_info u
JOIN   cluster_info c ON (c.cluster_id = u.cluster_id) 
WHERE  feed_id IN (SELECT pot_seeder FROM potentials) 
AND    num_docs > 5
AND    url_time > '2012-04-16'
GROUP  BY c.cluster_id, feed_id 
ORDER  BY num_docs DESC;

Nếu c.cluster_id, feed_id là các cột khóa chính của tất cả (cả trong trường hợp này) bảng mà bạn bao gồm các cột từ trong SELECT danh sách, sau đó điều này chỉ hoạt động với PostgreSQL 9.1 trở lên.

Nếu không, bạn cần GROUP BY phần còn lại của các cột hoặc tổng hợp hoặc cung cấp thêm thông tin.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HikariPool-1 - Không thể xác thực kết nối [được bảo vệ bằng email] (Kết nối này đã bị đóng.)

  2. Tổng hợp kết nối PostgreSQL:Phần 4 - PgBouncer so với Pgpool-II

  3. Treo trong tập lệnh Python bằng cách sử dụng SQLAlchemy và đa xử lý

  4. Có ai đã thành công khi sử dụng một ngôn ngữ cụ thể cho cơ sở dữ liệu PostgreSQL để so sánh văn bản không phân biệt chữ hoa chữ thường không?

  5. PostgreSQL:Xác định khách truy cập quay lại dựa trên ngày - tham gia hoặc chức năng cửa sổ?