首页 > 解决方案 > SQL:同时使用 SUM 和 CAST

问题描述

下面是一个查询,用于显示 Review 表中的列,并将子评分平均为主评分。目前,平均评论分数将类似于 7.40000000。有什么办法可以同时使用 cast 和 sum 吗?理想情况下,我想将其转换为一位小数,这样它只会显示 7.4。我试图根据我看到的其他答案来编辑我的查询,但我似乎无法让它工作。

SELECT Review_ID, Customer_ID, Property, Room, Order_ID, 
        Date_of_Stay,Customer_Country, 
        SUM((Rating_Cleanliness+Rating_Comfort+Rating_Location+Rating_Staff+Rating_Value)/5) AS Review_Score
FROM `PCT_Review`
GROUP BY Review_ID;

非常感谢。

标签: mysqlsql

解决方案


我想你可以一起使用它们

SELECT Review_ID, 
       Customer_ID, 
       Property, 
       Room, 
       Order_ID, 
       Date_of_Stay,
       Customer_Country,cast(SUM((Rating_Cleanliness+Rating_Comfort+Rating_Location+Rating_Staff+Rating_Value)/5)  as decimal (10,1)) 
       AS Review_Score
FROM `PCT_Review`
GROUP BY Review_ID, 
         Customer_ID, 
         Property, 
         Room, 
         Order_ID, 
         Date_of_Stay,
         Customer_Country;

推荐阅读