2017-03-02 43 views
0

我想总结所有支付的总金额,当我这样做时答案以科学记数法给出,而不是具有特定小数位数的浮点数。我所关注的专栏是total_amount,如果您可以请告诉我这样做的正确方法,以及关于Case功能的一些背景,那将非常棒。SQL使用案例来转换数据类型

Select customer.customer_id, customer.email, count(payment.payment_date) as payments_count, 
round(sum(Cast(payment.amount as numeric(4,2))), 2) as total_amount 
From customer join payment 
on customer.customer_id = payment.customer_id 
group by customer.customer_id 
+0

请标记您的问题。 –

+0

@GordonLinoff看起来像MySQL –

+0

你的轮次和演员应该已经给你2位小数。你真正想要什么输出。顺便说一下,您正在使用“GROUP BY”选择非聚合列。 –

回答

0

round()不改变数据类型,只是值。相反,投后做sum():你正在使用的数据库

Select c.customer_id, c.email, count(p.payment_date) as payments_count, 
     Cast(sum(p.amount) as numeric(4, 2)) as total_amount 
From customer c join 
    payment p 
    on c.customer_id = p.customer_id 
group by c.customer_id;