秩序的SharePoint搜索结果:由多个列
SELECT WorkId FROM SCOPE() ORDER BY Author ASC, Rank DESC
但是似乎从ORDER BY仅第一列在返回结果时要考虑到。在这种情况下,结果由作者正确排序,但不排序。如果我更改订单,结果将按Rank排序,但不会由作者排序。
我不得不求助于我自己对结果的排序,我不太喜欢。有没有人可以解决这个问题?
编辑:不幸的是,它也不接受ORDER BY子句中的表达式(SharePoint引发异常)。我的猜测是,即使查询看起来像合法的SQL,它在被提供给SQL服务器之前也会被解析。
我试图用SQL Profiler来捕获查询,但无济于事。
编辑2:最后,我使用单列(作者在我的情况,因为它是最重要的)排序,并在结果的TOP N代码中做第二次排序。对于这个项目来说足够好,但是却留下了糟糕的代码感。