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

Loại bỏ cột trùng lặp sau truy vấn SQL

Cách tốt nhất là sử dụng USING mệnh đề trong một điều kiện kết hợp rõ ràng:

SELECT houseid, v.vehid, v.epatmpg, d.houseid, d.trpmiles
FROM   vehv2pub v
JOIN   dayv2pub d USING (houseid)
WHERE  v.vehid >= 1
AND    d.trpmiles < 15;

Bằng cách này, cột houseid là kết quả chỉ có một lần , ngay cả khi bạn sử dụng SELECT * .

Theo tài liệu:

Để lấy epatmpg trung bình cho các hàng đã chọn:

SELECT avg(v.epatmpg) AS avg_epatmpg
FROM   vehv2pub v
JOIN   dayv2pub d USING (houseid)
WHERE  v.vehid >= 1
AND    d.trpmiles < 15;

Nếu có nhiều kết quả phù hợp trong dayv2pub , bảng dẫn xuất có thể chứa nhiều bản sao của mỗi hàng trong vehv2pub sau khi tham gia. avg() dựa trên bảng dẫn xuất.



  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ác biến môi trường docker-compile

  2. Cách thích hợp để chọn và cập nhật SQL

  3. Regclass nghĩa là gì trong Postgresql

  4. Thay thế động cho trục xoay với CASE và GROUP BY

  5. Truy vấn SQL 6 độ phân tách để phân tích mạng