【大神请进】自定义规则排序求解
现有表Table A, 主键名是 pk1。 在ASP中我有一个score()的函数,为每条记录打分。
现在想按照得分高低进行排序,请问该怎么操作。
求好心的大神帮忙看看。
------最佳解决方案--------------------asp我不懂哦,不过我还是建议把函数写到SQLServer里面去。这样也方便管理,不然有些在SQLServer,有些在asp那边,不便于管理
------其他解决方案--------------------用asp中的函数score给数据集新添加一个列,然后按新列排序。
或者把asp的score()函数改写成sql中的自定义函数。
------其他解决方案--------------------order by secore()这个函数算出来的值 desc
------其他解决方案--------------------
先谢谢1L帮忙,我追问一下,
score()的传参是单个PK,返回值也是单条记录的分数。请问这里应该怎么处理呢?
------其他解决方案--------------------我假设一下:
select score(pkx1) 的结果是1,select score(pkx2) 的结果是2,select score(pkx3) 的结果是3
那么你可以
select pk1,score(pk1) 分数
from Table
order by score(pk1) desc
------其他解决方案--------------------
啊,谢谢,这次我明白你的意思了。
如果按照你的代码,那么score()是写在数据库的吧?
现在score()是ASP中的一段程序,可以这么调用吗?
------其他解决方案--------------------
你说的有道理,谢谢你
------其他解决方案--------------------
谢谢你,两种方法都可行。第二种的确更好处理,我想学习一下第一种。可以给出一个实例吗? 谢谢。