下面是一个计算用电量的问题,原本是一个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