【问题标题】:How to set ranges on data from SQL Server in ASP.NET with c#如何使用 c# 在 ASP.NET 中设置来自 SQL Server 的数据范围
【发布时间】:2015-07-26 01:57:45
【问题描述】:
我正在创建一个页面,上面有一张印度地图。我已将有关经济指标的数据插入 SQL Server 数据库。我还在网页上放了一张印度地图。
我希望能够从数据库中检索数据,然后从数据中获取最大值并将其设置为 100%。然后基于此,如果一个值介于 0 到 20% 之间,那么地图的该部分应该是某种颜色。如果它落在 20% 到 40% 之间,它将是不同的颜色等等。
我是 ASP.NET 和 SQL Server 的新手,不知道该怎么做。我真的需要帮助。提前谢谢你
【问题讨论】:
标签:
c#
html
asp.net
sql-server
【解决方案1】:
试试这样的。
WITH cte
AS (SELECT states,
value,
( value / NULLIF(Max(value)
OVER(), 0) ) * 100 AS [Percent]
FROM yourtable)
SELECT states,
value,
color = CASE
WHEN [percent] BETWEEN 0 AND 20 THEN 'X color'
WHEN [percent] BETWEEN 21 AND 40 THEN 'Y color'
WHEN [percent] BETWEEN 41 AND 60 THEN 'X color'
.....
END
FROM cte
注意事项:
- 用于计算百分比的公式
(Value/max_value) * 100。如有错误请指正。
- 将
value 视为您需要为其查找百分比的列
-
NULLIF 用于避免除以零错误
-
Max() Over() 是在你的表中找到最大值