Итак, это мой первоначальный запрос, который работал:
DECLARE @total AS FLOAT;
SET @total =(SELECT COUNT(*) FROM Crimes)
SELECT
Areas.Area,
Areas.AreaName,
COUNT(*) AS Total,
Round(CONVERT(float,(COUNT(*) / @total) * 100),3)
FROM Areas
INNER JOIN Crimes
ON(Areas.Area = Crimes.Area)
GROUP BY
Areas.AreaName,
Areas.Area
, и единственное изменение, которое я сделал, было переименование агрегатной функции в «Процент», и там говорится, что есть проблема с двумя столбцами Area иAreaName, что они не могут быть связаны, и я не уверен, почему.
Новое изменение:
DECLARE @total AS FLOAT;
SET @total =(SELECT COUNT(*) FROM Crimes)
SELECT
Areas.Area,
Areas.AreaName,
COUNT(*) AS Total,
Round(CONVERT(float,(COUNT(*) / @total) * 100),3) AS Percent
FROM Areas
INNER JOIN Crimes
ON(Areas.Area = Crimes.Area)
GROUP BY
Areas.AreaName,
Areas.Area