【问题标题】: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() 是在你的表中找到最大值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 2020-04-25
      • 2012-01-06
      • 2012-02-05
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多