用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2992|回复: 7
收起左侧

隔行查询问题

[复制链接]
发表于 2011-7-24 11:38:58 | 显示全部楼层 |阅读模式
本帖最后由 qidanei624 于 2011-7-28 18:31 编辑

pid    created
1002  1098028800
1003  1098115200
1004  1098201600
1005  1098288000
1007  1098288000
我想获取 pid为 1002 1004 1007, 这样隔一行或者隔几行的数据!
该如何判断呢?

我现在想到的是:
SET @rownum := 0, @rank = 0;
SELECT @rownum := @rownum +1 AS row, @rank := IF(@rownum%2=1, pid, '') as rank FROM table_name;

生成了一个自动编号来判断一下,可是我想在 where 里 加上 rank  != '' 条件来获取结果, 可是mysql 别名在
where 里用不了, 哪位高手帮帮忙~~~~
或者另求好思路~~~
发表于 2011-7-24 12:12:47 | 显示全部楼层
在控制器 写好$id 的计算方式 数据库查询就好了~
 楼主| 发表于 2011-7-24 12:17:53 | 显示全部楼层
shadowhung 发表于 2011-7-24 12:12
在控制器 写好$id 的计算方式 数据库查询就好了~

$id 的计算方式, 我该怎么判断呢? 不会是 pid%2=0 这样的方法吧?~~~
这种方法不适合把~~
发表于 2011-7-24 12:46:37 | 显示全部楼层
我是这样想的  控制器中这样写好计算方式  模型中查询语句 用IN() 来查询
发表于 2011-7-26 09:56:42 | 显示全部楼层
把id全查出来,然后删掉隔行的,再用in查询
发表于 2011-7-26 13:38:01 | 显示全部楼层
楼上的方案是最实际的方案。
发表于 2011-7-26 15:36:48 | 显示全部楼层
楼主可以考虑用存储过程呀
 楼主| 发表于 2011-7-28 18:30:25 | 显示全部楼层
谢谢大家了!

本版积分规则