Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tìm kết quả khớp số gần nhất trong cơ sở dữ liệu với những gì người dùng đã nhập trong php

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

về cơ bản, hãy lấy sự khác biệt của trường số bạn muốn và giá trị do người dùng cung cấp, sau đó sắp xếp theo sự khác biệt tăng dần rồi trả về hàng đầu tiên.

Vì vậy, một trận đấu chính xác sẽ có hiệu số 0 và xuất hiện trước. Và sau đó chọn cái nào là "gần nhất" nếu không có kết quả khớp chính xác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ERRO 1215. MySql InnoDB

  2. Nhiều bảng MySQL thành json_encode

  3. Lỗi gói không theo thứ tự khi gọi proc được lưu trữ trong MySQL

  4. Không thể kết nối với máy chủ Mysql; Không thể tạo / ghi tệp pid

  5. Unicode trong MySQL Regex?