SQL查詢 自增序列

寫SQL語句時候,特別是需要套用公式的時候,我們可能需要一些自增序列作爲參數測試,然後通過公式生成想用的結果集;

如:

銀行存款,  每期利息::f(n)=prin*(rate+0.001*n);  本金*(利率+0.001*期數)然後我們需要統計前20期的情況;

select 
	name as '姓名',
	money as '本金',
	term as '期數',
	money*(0.09+0.001*term) as '利息'
from
(
	select "王三" as name,5000 as money
)  as save
join
(
	select
		@tm:=@tm+1 as term -- 期數
	from tbl_student,(select @tm:=0) as t
	limit 20
)as tx

查詢結果:

王三	5000	1	455
王三	5000	2	460
王三	5000	3	465
王三	5000	4	470
王三	5000	5	475
王三	5000	6	480
王三	5000	7	485
王三	5000	8	490
王三	5000	9	495
王三	5000	10	499.99999999999994
王三	5000	11	504.99999999999994
王三	5000	12	509.99999999999994
王三	5000	13	515
王三	5000	14	520
王三	5000	15	525
王三	5000	16	530
王三	5000	17	535
王三	5000	18	540
王三	5000	19	545
王三	5000	20	550

    若是要前20期利息和:我們就有根據了

select 
	姓名,
	本金,
	sum(利息) as 前20期利息和
from
(
	select 
		name as '姓名',
		money as '本金',
		term as '期數',
		money*(0.09+0.001*term) as '利息'
	from
	(
		select "王三" as name,5000 as money
	)  as save
	join
	(
		select
			@tm:=@tm+1 as term -- 期數
		from tbl_student,(select @tm:=0) as t
		limit 20
	)as tx
)as tbl

結果:

王三	5000	10050

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章