0

我有一个包含一些字段的数据库,包括idstore_idid是 AI 和store_id0 到 7 之间的整数。

我的目标是为每 2 行选择例如 1,所以我会得到行 id=0, id=2, id=4 .. 等等。我可以这样做:

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

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

你能帮我解决这个问题吗?如果您需要任何其他详细信息,请随时询问,谢谢

4

1 回答 1

1

首先 :

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
于 2013-02-03T18:25:41.760 回答