Bagaimana untuk melaksanakan baki berkurangan menggunakan MySQL
P粉473363527
P粉473363527 2023-09-01 21:11:53
0
1
638
<p>Cara membuat pertanyaan baki susut menggunakan mysql untuk mengira susut nilai dalam perakaunan</p> <p>Sebagai contoh, peralatan berharga $16,000, mempunyai jangka hayat berguna selama 5 tahun dan kadar susut nilai sebanyak 40%. Susut nilai</p> <pre class="brush:php;toolbar:false;">Tahun Nilai buku permulaan Kadar susut nilai Amaun susut nilai Nilai buku tamat 1 16,000 40% 6,400 9,600 2 9,600 40% 3,840 5,760 3 5,760 40% 2,304 3,456 4 3,456 40% 1,382.40 2,073.60 5 2,073.60 40% 829.44 1,244.16</pra> <p>Bagaimanakah saya boleh mencipta fungsi/pertanyaan untuk mendapatkan keputusan di atas? Terima kasih</p>
P粉473363527
P粉473363527

membalas semua(1)
P粉917406009

Anda boleh menggunakan CTE rekursif untuk mendapatkan hasil yang anda inginkan. Contohnya:

with recursive
p as (select 16000.00 as book_value, 0.4 as rate, 5 as total_years),
y (year, book_value_start, rate, depreciation, book_value_end) as (
  select 1, book_value, rate,
    round(rate * book_value, 2),
    book_value - round(rate * book_value, 2)
  from p
 union all
  select
    y.year + 1, y.book_value_end, y.rate,
    round(y.rate * y.book_value_end, 2),
    y.book_value_end - round(y.rate * y.book_value_end, 2)
  from y
  cross join p
  where y.year < p.total_years
)
select * from y order by year

Hasil:

year  book_value_start  rate  depreciation  book_value_end 
 ----- ----------------- ----- ------------- -------------- 
 1     16000.00          0.4   6400.00       9600.00        
 2     9600.00           0.4   3840.00       5760.00        
 3     5760.00           0.4   2304.00       3456.00        
 4     3456.00           0.4   1382.40       2073.60        
 5     2073.60           0.4   829.44        1244.16

Lihat contoh larian di DB Fiddle.

NOTA: Ketiga-tiga parameter ditakrifkan dalam baris kedua. Jika anda ingin menukar nilai permulaan, kadar faedah atau bilangan tahun, buat perubahan anda di sana.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!