2017-03-02 38 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;