循环显示数据库中的优先级列表

时间:2014-01-11 17:49:34

标签: sql algorithm sorting priority-queue ranking

我正在建立一个在国外推广非政府组织的网站。我正在尝试构建数据库,现在我已经触及了一点,

我在每个州都有数百个非政府组织,我想展示所有非政府组织。这是通过使用简单的SELECT以状态作为条件直接从数据库查询来完成的。

但我们需要每月在该州推广6个NGOS,每次用户进入非政府组织的领域(例如,童工或女性安全等)时,我们都需要在列表中显示它们。我们至少需要促进10个非政府组织在每个州的每个类别中以循环方式排在前3位。我不知道如何实现这一点......这里是简单的表格

我想达到如下所示的结果

假设6个nos是n1 n2 n3 n4 n5 n6

                       n1 - is high priority 
                       n2 ,n3 - second priority
                       n4 ,n5,n6  - third priority    

我希望在结果页面中显示前三个位置

  1 time    n1  n2  n4
  2 time    n1  n3  n5
  3 time    n1  n2  n6
  4 time    n1  n3  n4
  5 time    n1  n2  n5
  6 time    n1  n3  n6

通过给予至少6次,优先显示所有6个ng的显示 n1允许所有时间排在第一位,n2& n3每次显示3次,最后n44 n5 n6将显示在6的全圆周中。

我想保留这条轨道,并希望在该州的该类别中提取所有非政府组织以及该6个非政府组织,并以上述方式显示这6个以脂肪顺序休息..如何实现这一点,是否有这种循环显示的任何算法

编辑:           直到现在,我的表只有非政府组织的位置和联系方式

表:id,ngo_name,address,state_id,category_id

SELECT *来自NGO,其中state_id = $ state& category_id = $ cat_id

结果按ID排序......

0 个答案:

没有答案