qidanei624 发表于 2011-7-24 11:38:58

隔行查询问题

本帖最后由 qidanei624 于 2011-7-28 18:31 编辑

pid    created
10021098028800
10031098115200
10041098201600
10051098288000
10071098288000
我想获取 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 里用不了, 哪位高手帮帮忙~~~~
或者另求好思路~~~

shadowhung 发表于 2011-7-24 12:12:47

在控制器 写好$id 的计算方式 数据库查询就好了~

qidanei624 发表于 2011-7-24 12:17:53

shadowhung 发表于 2011-7-24 12:12 static/image/common/back.gif
在控制器 写好$id 的计算方式 数据库查询就好了~

$id 的计算方式, 我该怎么判断呢? 不会是 pid%2=0 这样的方法吧?~~~
这种方法不适合把~~

shadowhung 发表于 2011-7-24 12:46:37

我是这样想的控制器中这样写好计算方式模型中查询语句 用IN() 来查询

visvoy 发表于 2011-7-26 09:56:42

把id全查出来,然后删掉隔行的,再用in查询

spt119 发表于 2011-7-26 13:38:01

楼上的方案是最实际的方案。

tiana 发表于 2011-7-26 15:36:48

楼主可以考虑用存储过程呀

qidanei624 发表于 2011-7-28 18:30:25

谢谢大家了!{:1_1:}
页: [1]
查看完整版本: 隔行查询问题