none
【ASP.NET】如何做到每次查询数据库按不同顺序显示数据 RRS feed

  • 问题

  • 一个表中有8条信息,当每次刷新页面的时候检索这8条信息,而且每次查询出来的数据按照不规则顺序显示,应该如何做到这一点。谢谢!

    2010年3月30日 8:48

答案

  • 你好!

    在你的 SQL 后面加上  ORDER BY NEWID() ,随机排序

    如:SELECT * FROM Table ORDER BY NEWID()


    知识改变命运,奋斗成就人生!
    • 已标记为答案 jinwb1982 2010年3月30日 8:56
    2010年3月30日 8:54
    版主

全部回复

  • 你好!

    在你的 SQL 后面加上  ORDER BY NEWID() ,随机排序

    如:SELECT * FROM Table ORDER BY NEWID()


    知识改变命运,奋斗成就人生!
    • 已标记为答案 jinwb1982 2010年3月30日 8:56
    2010年3月30日 8:54
    版主
  • 你好!

    在你的 SQL 后面加上  ORDER BY NEWID() ,随机排序

    如:SELECT * FROM Table ORDER BY NEWID()


    知识改变命运,奋斗成就人生!

    你好,我还想顺便问一下,是不是这样的话,如果数据多了,会影响数据库性能呢?如果影响的话,应该如何防范?谢谢
    2010年3月30日 8:57
  • 这是利用了 Guid 的技巧,即为每行产生一个 Guid 再用它来排序,数据取多了效率会比使用物理字段排序低(加上没有索引)。
    知识改变命运,奋斗成就人生!
    2010年3月30日 9:06
    版主
  • 恩,明白了,如果数据多了的话,再用这种方法会比较慢,那么有没有措施去防止呢?

    2010年3月30日 9:52
  • 你可以根据你的情况自己试一下,我觉得这种差异可以不考虑。如果你换种方式实现可能花的代价更大。
    知识改变命运,奋斗成就人生!
    2010年3月30日 9:56
    版主
  • 你可以根据你的情况自己试一下,我觉得这种差异可以不考虑。如果你换种方式实现可能花的代价更大。
    知识改变命运,奋斗成就人生!

    感谢你的赐教!
    2010年3月30日 13:01