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

MySQL Kompleks GABUNG dengan GROUP BY

Saya pikir Anda tidak dapat melakukan semuanya sekaligus karena Anda ingin mengelompokkan/menjumlahkan item dari tabel yang berbeda secara bersamaan. Coba ini:

 select unit, name, stays, days, total_price, charges, mgmt_fee,
   (total_price*.01*mgmt_fee) AS management,
   (total_price-(total_price*.01*mgmt_fee)-charges)  AS bal
 from (
 select 
   x.unit, 
   name, 
   count(*) as stays, 
   sum(days) as days, 
   sum(total_price) as total_price, 
   charges,
   mgmt_fee
 from
 (select 
   unit , 
   datediff(depart,arrival) as days,  
   total_price
 from
   Reservations
  ) as x
 join (
   select unit, sum(amount) as charges
   from Charges
   group by unit
   ) as y
 on x.unit = y.unit
 join Unit  as u
 on u.id = x.unit
 group by unit
 ) as inner_result

Tidak terlalu rapi atau elegan, tapi saya pikir itu berhasil. Perhatikan bahwa Anda harus berhati-hati jika ada> 1 baris dalam biaya per unit. Berikut adalah biola untuk menunjukkannya berjalan:http://sqlfiddle.com/#!2/f05ba/18




  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 kerja pencarian teks lengkap MySQL?

  2. pilih baris dalam sql dengan tanggal terbaru untuk setiap ID yang diulang beberapa kali

  3. Alternatif Meja Kerja MySQL Teratas

  4. Driver basis data CodeIgniter PDO tidak berfungsi

  5. Permintaan MySQL untuk menghitung nilai bukan nol dalam satu baris