Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan Gabung dengan Baris Data Terkelompok

Masalahnya adalah ketika Anda menggunakan GROUP BY , Anda hanya dapat SELECT agregat dan kolom yang telah Anda kelompokkan.

invoices.id adalah kolom yang Anda coba pilih, tetapi tidak dikelompokkan. Saya pikir Anda mungkin ingin menambahkan kolom ini ke GROUP BY klausa.

SELECT 
   invoices.id, 
   sum(grossTotal)-IFNULL(depositsCheck.previouslyPaid,0) as todayTotal, 
   depositsCheck.previouslyPaid, sum(grossTotal) as grossTotal  
FROM `invoices`    
    LEFT JOIN (SELECT SUM(amount) as previouslyPaid, invNo 
    FROM deposits 
    GROUP BY invNo) depositsCheck ON depositsCheck.invNo=invoices.id 
GROUP BY  invoices.paymentType, invoices.id ORDER BY id DESC

Untuk tabel contoh yang Anda berikan, mungkin akan memberikan:

id    |    paymentType     |     grossTotal   |    dateTime   |   previouslyPaid
1     |         Cash       |        1000      |   UNIX TIME   |       150
2     |         Card       |        1350      |   UNIX TIME   |       350
3     |         Card       |        1250      |   UNIX TIME   |         0
4     |         Card       |        750       |   UNIX TIME   |         0

Tetapi secara umum, Anda akan memiliki sesuatu seperti:

id    |    paymentType     |     grossTotal   |    dateTime   |   previouslyPaid
1     |         Cash       |        1000      |   UNIX TIME   |       150
1     |         Card       |        1000      |   UNIX TIME   |       300
2     |         Cash       |        1350      |   UNIX TIME   |       350
2     |         Card       |        1350      |   UNIX TIME   |       350

Di mana Anda dapat melihat di atas, untuk faktur 1, 150 dibayar tunai, dan 300 dibayar dengan kartu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa menggunakan kerangka kerja? Yakinkan saya bahwa saya harus mencari tahu Zend Framework dan menggunakannya

  2. Bagaimana cara menghasilkan/peningkatan otomatis pada penyisipan tanpa pemicu dan penyisipan manual di mysql?

  3. Apakah legal menggunakan MySQL di lingkungan komersial?

  4. JSON_VALID() – Tes untuk JSON yang Valid di MySQL

  5. menjalankan container docker membutuhkan setidaknya 1 argumen