SQL Server 2014 百分比剧情
SQL Server 2014 Percentage Dramas
我正在尝试 运行 一个查询,该查询将 return 居住在总部位置一定距离内的人口百分比(乌鸦飞过的直线)。
我的查询的两个主要部分工作正常,即计算出 5 英里内的客户数量并计算所有客户的数量,但是一个小时的括号乱七八糟和一个小时的搜索论坛让我乞求求助。
Select
((
(Select COUNT (*) FROM t_address WHERE (SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE (5)))
/
(Select Count (*) FROM t_address)
)*100) AS "% Clients Within 5 Miles"
这是另一个使用 case
语句的例子:
select 100 * sum(case when SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE(5)
then 1
else 0
end) / cast(count(*) as decimal(10,2)) as ClientsWithin5Miles
from t_address
我更喜欢更简单的版本:
select avg(case when SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE(5)
then 100.0
else 0
end) as ClientsWithin5Miles
from t_address;
我正在尝试 运行 一个查询,该查询将 return 居住在总部位置一定距离内的人口百分比(乌鸦飞过的直线)。
我的查询的两个主要部分工作正常,即计算出 5 英里内的客户数量并计算所有客户的数量,但是一个小时的括号乱七八糟和一个小时的搜索论坛让我乞求求助。
Select
((
(Select COUNT (*) FROM t_address WHERE (SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE (5)))
/
(Select Count (*) FROM t_address)
)*100) AS "% Clients Within 5 Miles"
这是另一个使用 case
语句的例子:
select 100 * sum(case when SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE(5)
then 1
else 0
end) / cast(count(*) as decimal(10,2)) as ClientsWithin5Miles
from t_address
我更喜欢更简单的版本:
select avg(case when SQUARE(Coord_X) + SQUARE(Coord_Y) <= SQUARE(5)
then 100.0
else 0
end) as ClientsWithin5Miles
from t_address;