2013-02-03 113 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你不能只接受答案? –