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

MySQL menghitung persentase dari dua jumlah yang dihitung lainnya termasuk grup berdasarkan bulan

Gunakan agregasi bersyarat. Tidak jelas apakah Anda ingin melihat 12/24 bulan terakhir, atau pada bulan 2017 dan bulan yang sama di 2016. Saya juga tidak mengerti bagaimana Anda ingin menghitung persentase. Saya membagi keuntungan tahun ini dengan tahun lalu dalam kueri di bawah ini. Sesuaikan ini agar memenuhi kebutuhan Anda.

select
  b_emp_id,
  month,
  turnover_this_year,
  profit_this_year,
  turnover_last_year,
  profit_last_year,
  profit_this_year / profit_last_year * 100 as diff
from
(
  select
    b_emp_id,
    month(b_date) as month,
    sum(case when year(b_date) = year(curdate()) then b_turnover end) as turnover_this_year,
    sum(case when year(b_date) = year(curdate()) then b_profit end) as profit_this_year,
    sum(case when year(b_date) < year(curdate()) then b_turnover end) as turnover_last_year,
    sum(case when year(b_date) < year(curdate()) then b_profit end) as profit_last_year
  from bookings
  where year(b_date) in (year(curdate()), year(curdate()) - 1)
    and month(b_date) <= month(curdate())
  group by b_emp_id, month(b_date)
) figures
order by b_emp_id, month;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Potong semua tabel di database MySQL yang cocok dengan pola nama

  2. Menampilkan gambar dari database MySQL dalam tabel data JSF

  3. Cara menginstal MySQL di macOS

  4. Bagaimana cara menentukan pesanan khusus dalam klausa ORDER BY?

  5. SQLAlchemy case tidak sensitif dalam permintaan pencarian berbasis?