mysql - 为特定 ID 寻找接近于零的值

标签 mysql sql

我正在为特定 ID 寻找最接近零的值

我的输入是

    tech_Id time_diff
    1000      100
    1000      200
    1000      -50
    1000      -10
    1001      100
    1001      200
    1001       50
    1001       10
    1002      -50
    1002      -10
    1003      130
    1003     -140
    1003      -2

预期输出

tech_Id time_diff
1000     -10
1001      10
1002     -10
1003      -2

提前致谢

最佳答案

你可以找到时间差异的绝对值的最小值。

select t1.*
from your_table t1
join (
    select tech_id, min(abs(time_diff)) as time_diff
    from your_table
    group by tech_id
    ) t2 on t1.tech_id = t2.tech_id and abs(t1.time_diff) = t2.time_diff;

关于mysql - 为特定 ID 寻找接近于零的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43932054/

相关文章:

sql - 错误 : NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [name] during auto-discovery of a native-sql query

MySQL如何将值舍入到ceil

php - 需要帮助创建可编辑的复选框

java - JDBC插入查询不更新mysql数据库

mysql - 如何在不丢失日期的情况下将 varchar 列类型转换为日期类型

sql - 在值以 NIR_ 开头的选择中进行过滤

php - 只显示返回的 MySQL 查询的一部分?

python - 从 MySQL 控制台查看 Django 用户表

php - 如果MySQL查询值中有空格,如何显示值

sql - 使用 IN (NULL) 查询 SQL Server 不起作用