现在的位置: 首页 > 综合 > 正文

【Transact-SQL】一个计算用电量的问题

2014年07月28日 ⁄ 综合 ⁄ 共 452字 ⁄ 字号 评论关闭

下面是一个计算用电量的问题,原本是一个excel方面的面试题:


白日平均用电:

30度以内,0.4元每度,  
70度以上,1.2元每度 ,
30到70,0.8元每度 ;

 
晚间用电22点到早6点,价格统一按0.3元每度收取  。


现在有3户,用电量是:

户,人数,白天用电,晚上用电

'a' , 4,  315 , 115
'b',  3, 105  , 102
'c',   6,  58,    212。

WITH t
AS
(
SELECT 'a' v1,  4 AS v2,  315 AS v3,  115 AS v4
UNION ALL
SELECT 'b', 3,105,102
UNION ALL
SELECT 'c', 6,58, 212
)

SELECT v1,
       
       CASE WHEN v3 * 1.0 / v2 <= 30 
                 THEN v3 * 0.4
                 
            WHEN v3 * 1.0 / v2 > 30 AND 
                 v3 * 1.0 / v2 <=70 
                 THEN v2 * 30 * 0.4 + (v3 - v2 * 30) *0.8
            
            WHEN v3 * 1.0 / v2 > 70
                 THEN v2 * 30 * 0.4 + v2 * (70-30) * 0.8 + (v3 - v2 * 70) * 1.2
            ELSE 0
       END + 
       
       v4 * 0.3 
FROM t



抱歉!评论已关闭.