我不想select * form mytable后再随机取其中的5条记录。
可以使用SQL查询直接从数据库中随机选5条记录吗?

解决方案 »

  1.   

    直接的SQL不知道有没有,但可以变通:
    1 在表mytable中建ID字段,int,从1至n
    2 用随机函数得到n1,n2,n3,n4,n5
    3 select * from mytable where id=n1 or id=n2 or id=n3 or id=n4 or id=n5
      

  2.   

    什么数据库系统?你可以用这样的语句试试,SELECT TOP 5 * FROM `mytable` GROUP BY RAND();
    SELECT * FROM `mytable` GROUP BY RAND() LIMIT 5;