2013-02-03 75 views
0

我有一个数据库,其中包括一些字段,包括idstore_idid是AI和store_id int和0到7.MySQL - 为每个X行选择1

我的目标是选择例如1为每2行,所以我会得到行ID = 0,ID = 2,ID = 4 ..等。我能做到这一点有:

SELECT * FROM `table` WHERE MOD(id,2)=0 

但我的问题是,我该store_id,因为我想获得各1 x行WHERE store_id=y

你能帮助我吗?如果您需要任何其他细节随时问,感谢

+0

请解释一下你的问题吗? –

+0

'SELECT * FROM table WHERE MOD(id,2)= 0 AND store_id = y'? –

+0

@ ring0这并不完全符合他的要求,那么让所有“store_id = y”都是奇数?或者甚至全部? –

回答

1

起初:

SELECT * FROM table WHERE MOD(id, 2) = 0 AND store_id = y 

似乎是一个理念,而是让所有什么“STORE_ID = Y”为奇数编号的?

那么,怎么样运行的子查询应用过滤器,添加计数器结果,然后在柜台过滤:

set @counter = 0; 
SELECT id, store_id FROM 
(
    SELECT id, store_id, 
    @counter := @counter + 1 as counter 
    FROM foo WHERE store_id = 2 
) AS sub 
WHERE MOD(counter, 2) = 0 
+0

我不知道所有的概念在这里,但我现在看看,谢谢:) – pasadinhas

+0

谢谢, !我会upvote你,但我没有足够的声誉尚未 – pasadinhas

+0

@Miguel你不能只接受答案? –