Mysql 如何根据特定列值的标识限制检索的行数?

Mysql 如何根据特定列值的标识限制检索的行数?,mysql,Mysql,我有一组这样的输入: [1000, 1100, 1200, 1300 ... ] SELECT * FROM test_table WHERE mz1_shifted BETWEEN 1000 - 1 AND 1000 + 1 OR BETWEEN 1100 - 1 and 1100 + 1 OR ... 以及如下所示的数据库表结构: [1000, 1100, 1200, 1300 ... ] SELECT * FROM test_table WHERE mz1_shifted BET

我有一组这样的输入:

[1000, 1100, 1200, 1300 ... ]
SELECT *
FROM test_table 
WHERE mz1_shifted
BETWEEN 1000 - 1 AND 1000 + 1
OR
BETWEEN 1100 - 1 and 1100 + 1
OR
...
以及如下所示的数据库表结构:

[1000, 1100, 1200, 1300 ... ]
SELECT *
FROM test_table 
WHERE mz1_shifted
BETWEEN 1000 - 1 AND 1000 + 1
OR
BETWEEN 1100 - 1 and 1100 + 1
OR
...

我想搜索此表以查找数组中每个值之间具有
mz1_monostopic
值的所有条目,如下所示:

[1000, 1100, 1200, 1300 ... ]
SELECT *
FROM test_table 
WHERE mz1_shifted
BETWEEN 1000 - 1 AND 1000 + 1
OR
BETWEEN 1100 - 1 and 1100 + 1
OR
...

但是,对于数组中的每个条目,我只希望每个
父项检索一行。因此,假设数字
1100
匹配两个
parent==1
的条目,我只想要其中一个条目。这可以用于查询吗?

MOD(mz1+1100)很有趣——我不懂这个语法,但我会研究它!最好是数组中目标值误差最小的一个。。。假设1100查找1100.25和1100.50的HITT,我需要1100.25行。您的数组必须作为行集提供到查询中(或在查询中转换)。使用CTE中的行枚举只能执行一行选择。欢迎使用SO。请参阅: