sql >> Database teknologi >  >> RDS >> Mysql

At finde det nærmeste numeriske match i en database til det, en bruger har indtastet i php

SELECT ABS($user_value - numeric_field) as nearest, ...
FROM yourtable
ORDER BY nearest ASC
LIMIT 1

som udgangspunkt skal du tage forskellen på det ønskede talfelt og den brugerangivne værdi, sortere efter forskellen stigende og derefter returnere den første række.

Så en nøjagtig match ville have en forskel på 0 og komme først ud. Og vælg så den, der er "tættest", hvis der ikke er noget nøjagtigt match.



  1. Hvad betyder select count(1) fra table_name på alle databasetabeller?

  2. Importer Excel-data til PostgreSQL 9.3

  3. Er navn et reserveret ord i MySQL?

  4. Sådan returneres den aktuelle rækkeversionsværdi for en SQL Server-database (T-SQL-eksempel)