我有一个这样的数据库:
people
id name zip
1 bill 84058
2 susan 90001
3 john 64354
Run Code Online (Sandbox Code Playgroud)
假设我输入的号码为65432
我想写这样的查询:
SELECT * FROM people WHERE zip CLOSEST TO 65432 LIMIT 1
并获得john作为行返回。
我找不到与PostgreSQL最接近的命令
您可以使用ABS功能:
SELECT *
FROM people
ORDER BY ABS(65432 - zip) ASC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |