以下代码:
SELECT LGA,
FORMAT(SUM(Total_2019)+0,'00,000') as Total2019
FROM Crime_LGA
GROUP BY LGA
ORDER BY Total2019 DESC;
给出正确的结果,但是格式随着数字的减少而给出了不想要的0,例如,以09,591而不是9,591(如下图所示)
还尝试了以下代码:
SELECT LGA,
FORMAT(SUM(Total_2019),'N0') as Total2019
FROM Crime_LGA
GROUP BY LGA
ORDER BY Total2019 DESC;
但是数字被转换为NVARCHAR
,这意味着结果没有排序。
表中的Total_2019列为INT
。我进行了搜索,但是找到的所有解决方案均将答案转换为NVARCHAR
,这意味着结果不正确。
使用SSMS。感谢您的时间。
如果您发布的第二个查询返回期望值,而问题仅在于订单,那么您可以对原始列的总和进行排序(而不是对转换后的总和进行排序):
SELECT LGA,
FORMAT(SUM(Total_2019),'N0') as Total2019
FROM Crime_LGA
GROUP BY LGA
ORDER BY SUM(Total_2019) DESC;