数据库有张表,存有20多万首歌,用户登录以后系统随机推荐给用户一首歌欣赏,听完这首,推荐下一首。要求:推荐的歌曲尽量不重复。
播放次数 不能按照数据库排序!那位大牛,帮帮忙!

解决方案 »

  1.   


    存在 数据库 不合理 
    尝试用XMl 操作 
      

  2.   

    用户听歌记录表应该有了吧
    即使id不连续,也可以取随机数呀
    随机出一个整数n,select top 1 from 歌曲表 where id>n
      

  3.   

    先将歌曲ID读取出来放进一个数组,然后再对数组随机,播放后在数组中删除这个ID
      

  4.   

    select top 1 * from 歌曲表 where id>n
      

  5.   

    那你可以搜索歌曲ID的最大值,然后在程序里产生一个随机ID,判断数据库里有没有这个ID,没有,再重新生成一个,直到有为止
      

  6.   


    既然要在数据库里取随机数,那么最好用一个存储过程,判断取出的随机产生的歌曲该用户是否听过用XML文件也可以,在数据库里保存只要定时清理下就好了
      

  7.   


    不是很理解啊,谁给解释下。
    如果n第一次为1时
    那么select top 1 * from 歌曲表 where id>n,应该是查询id为2的记录
    那么n再次为1
    难道select top 1 * from 歌曲表 where id>n,查询的id就不是为2了吗?
      

  8.   

    存放在内存中吗? 那干脆放进session里面好了
      

  9.   


    Session中的数据容易丢失吧。