立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 128|回复: 7

调用最后60条记录,然后随机排序

[复制链接]

调用最后60条记录,然后随机排序

[复制链接]

53

主题

61

回帖

411

积分

中级会员

积分
411
张生

53

主题

61

回帖

411

积分

中级会员

积分
411
2011-2-20 00:10:16 | 显示全部楼层 |阅读模式
这样是调用随机的60条

正确的方法我也不懂

大概方法是,按正常顺序调用最后的60条,返回数组,再把这个数组的顺序打乱

[ 本帖最后由 gdtv 于 2011-2-20 00:12 编辑 ]
回复

使用道具 举报

488

主题

1410

回帖

6624

积分

论坛元老

积分
6624
gdtv

488

主题

1410

回帖

6624

积分

论坛元老

积分
6624
2011-2-20 00:11:35 | 显示全部楼层
要用子查询

select  *  from (select * from table_name order by PK desc limit 0,60) tmp_table order by rand()

但是性能不是最好

select * from table_name order by PK desc limit 0,60获取数据,然后用程序shuffle列表相对好一点
回复

使用道具 举报

2

主题

254

回帖

865

积分

高级会员

积分
865
Kokgog

2

主题

254

回帖

865

积分

高级会员

积分
865
2011-2-20 00:22:07 | 显示全部楼层


不会技术的路过...
回复

使用道具 举报

49

主题

1038

回帖

3577

积分

论坛元老

积分
3577
xspoco

49

主题

1038

回帖

3577

积分

论坛元老

积分
3577
2011-2-20 00:31:24 | 显示全部楼层
select * from news order by rand()
desc
limit 60
回复

使用道具 举报

11

主题

119

回帖

395

积分

中级会员

积分
395
zllovesuki

11

主题

119

回帖

395

积分

中级会员

积分
395
2011-2-20 03:06:56 | 显示全部楼层
原帖由 zllovesuki 于 2011-2-20 03:06 发表


select * from news order by rand() desc limit 60

嗯,倒序加上了,然后应该limit应该规定开始位置,从第0条记录开始的吧?[ol]
  • select * from news order by rand() desc limit 0,60[/ol]复制代码
  • 回复

    使用道具 举报

    18

    主题

    89

    回帖

    366

    积分

    中级会员

    积分
    366
    shy9000

    18

    主题

    89

    回帖

    366

    积分

    中级会员

    积分
    366
    2011-2-20 03:22:13 | 显示全部楼层
    原来这里还可以问这些问题的
    看来下次有地方发问了

    回复

    使用道具 举报

    24

    主题

    421

    回帖

    1534

    积分

    金牌会员

    积分
    1534
    Captain

    24

    主题

    421

    回帖

    1534

    积分

    金牌会员

    积分
    1534
    2011-2-20 04:16:28 | 显示全部楼层
    原帖由 张生 于 2011-2-20 20:56 发表




    这条代码我用在ECMS上面的,如果按照这种写法,每次生成一个页面要消耗2~5秒


    这是全部记录打乱之后取倒序60条,不是倒序取60条然后打乱, mysql全部记录order by rand效率肯定低的,你真的要实现这个,可以搜下order by rand mysql 效率这几个关键词,有人写过存储过程版,子查询版,表连接版的替代优化方式的
    回复

    使用道具 举报

    53

    主题

    61

    回帖

    411

    积分

    中级会员

    积分
    411
    张生 楼主

    53

    主题

    61

    回帖

    411

    积分

    中级会员

    积分
    411
    2011-2-20 20:56:41 | 显示全部楼层
    rand() 非常慢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2025-3-10 10:23 , Processed in 0.021020 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表