PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara menghitung semua kejadian gabungan dalam SQL?

Tidak mudah karena Anda memiliki jumlah produk yang cocok di baris terakhir yang berbeda dibandingkan dengan baris lainnya. Anda mungkin dapat melakukannya dengan semacam operator GROUP_CONCAT() (tersedia di MySQL; dapat diterapkan di DBMS lain, seperti Informix dan mungkin PostgreSQL), tetapi saya tidak yakin akan hal itu.

Pencocokan Berpasangan

SELECT p1.product_name AS name1, p2.product_name AS name2, COUNT(*)
  FROM (SELECT p.product_name, h.transaction_id
          FROM products AS p
          JOIN transactions_has_products AS h ON h.product_id = p.product_id
       ) AS p1
  JOIN (SELECT p.product_name, h.transaction_id
          FROM products AS p
          JOIN transactions_has_products AS h ON h.product_id = p.product_id
       ) AS p2
    ON p1.transaction_id = p2.transaction_id
   AND p1.product_name   < p2.product_name
 GROUP BY p1.name, p2.name;

Menangani pertandingan rangkap tiga bukanlah hal yang sepele; memperluasnya lebih jauh dari itu pasti agak sulit.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan daftar putih dan pernyataan siap pakai dengan Postgresql di php?

  2. Bergabunglah dengan Kolom Alias ​​​​SQL

  3. Menggunakan UUID dengan EclipseLink dan PostgreSQL

  4. Interval Dinamis (Berbasis Kolom)

  5. Rekor terdekat untuk serangkaian kencan