首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对数据集进行“排序”

如何对数据集进行“排序”
EN

Stack Overflow用户
提问于 2014-12-21 01:56:22
回答 1查看 34关注 0票数 0

情况如下:

我有一个有40.000个城市的数据库。这些城市有某些类型的有价值的房产。例如“山”或“海滩”。如果一个城市有很多山,那么山的价值就会很高,如果山少了,那么山的数量就会更少。

具有城市名称、属性和值的表:

这样,我就有了一个表,表中包含了所有这些属性的平均值。

我需要发生的事情:,我希望用户搜索有一个或多个属性的城市,找到最佳匹配,并附加一个分数从0- 100到它。

我这样做的方式如下:

1. I首先获得属性的25%、50%和70%的值:

代码语言:javascript
复制
_var_[property]_25 = [integer]
_var_[property]_50 = [integer]
_var_[property]_70 = [integer]

2.然后我需要使用这个算法:

代码语言:javascript
复制
_var_user_search_for_properties = [mountain,beach]
_var_max_property_percentage = 100 / [properties user search for]

_var_match_percentage = 0

for each _var_user_search_for_properties


     if [property] < _var_[property]_25 then

          _var_match_percentage += _var_max_property_percentage

     elseif [property] < _var_[property]_50 then

          _var_match_percentage += _var_max_property_percentage / 4 * 3

     elseif [property] < _var_[property]_75 then

          _var_match_percentage += _var_max_property_percentage / 4 * 2

     elseif [property] < 0 then

          _var_match_percentage += _var_max_property_percentage / 4 * 1

     end if 

next

order all rows by _var_match_percentage desc 

的问题是:用MySQL做这件事是可行的吗?如何计算这个“匹配百分比”?

或者,将所有行和索引从数据库中取出并通过.NET循环它们会更快吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-21 02:04:01

如果百分比可以存储在数据库中,则可以尝试MySQL的LIMIT子句。见http://www.mysqltutorial.org/mysql-limit.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27586079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档