簡體   English   中英

MySQL-為每X行選擇1

[英]MySQL - Select 1 for each X rows

我有一個包含idstore_id的某些字段的數據庫。 id為AI, store_id為0到7之間的整數。

我的目標是為每2行選擇1個,因此我將獲得id == 0,id = 2,id = 4等的行。我可以這樣:

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

但我的問題是我那個store_id因為我想在每個x行中獲得1,而WHERE store_id=y

你能幫我嗎? 如果您需要任何其他細節,請隨時提問,謝謝

首先 :

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

似乎有個主意,但是讓所有“ store_id = y”具有奇數id怎么辦?

因此,如何運行子查詢以應用過濾器,向結果添加計數器,然后對計數器進行過濾,該怎么辦:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM