嗷嗷答 - 嗷嗷好的公务员考试网络答题平台

MySQL技巧两则

作者:不烦恼 发布时间:June 14, 2011 分类:快乐学习

一、获取分页数据
每页数据量为10,获取第101页的数据?

  1. SELECT * FROM table_name WHERE id >= (SELECT id FROM table_name LIMIT 1000 , 1) LIMIT 10
  2. // 1000 = 100 * 10 = (上一页) * 每页数量

二、获取随机数据
一条数据:

  1. SELECT COUNT(*) FROM table_name;
  2. $randoffset = rand(0, $count-1);
  3. SELECT * FROM table_name LIMIT $randoffset,1

多条数据:
  1. SELECT MAX(id) FROM table_name;
  2. // 防止ID不连续提取数量不足,多计算出一些随机数
  3. $rands = range(0,$maxid, ceil($maxid/100));
  4. shuffle($rands);
  5. $rands = implode(', ', $rands);
  6. SELECT * FROM table_name WHERE id IN ($rands) LIMIT 10;

添加新评论 »