如何从整数表中找到指定整数的最接近整数?

cor*_*laz 1 mysql

如何在提供的整数上找到最接近的整数?

说,我在mysql数据库中有以下整数:405,600,304.问题是如何在提供550时选择600或在提供300时选择304(即,以便找到最接近的整数)?

我说的是INTEGERS,而不是花车.

Mar*_*ers 13

如果你有一个包含一些整数的列的表,并且你想找到最接近你输入的整数的行,那么使用以下查询:

要查找最接近300的整数:

SELECT column1
FROM table1
ORDER BY ABS(column1 - 300)
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

结果:

304
Run Code Online (Sandbox Code Playgroud)

或输入550:

SELECT column1
FROM table1
ORDER BY ABS(column1 - 550)
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

结果:

600
Run Code Online (Sandbox Code Playgroud)

测试数据:

CREATE TABLE table1 (column1 INT NOT NULL);
INSERT INTO table1 (column1) VALUES
(405),
(600),
(304);
Run Code Online (Sandbox Code Playgroud)