Maison > base de données > tutoriel mysql > Comment puis-je trouver la correspondance numérique la plus proche dans une base de données SQL ?

Comment puis-je trouver la correspondance numérique la plus proche dans une base de données SQL ?

DDD
Libérer: 2024-12-30 05:47:10
original
695 Les gens l'ont consulté

How Can I Find the Closest Numeric Match in a SQL Database?

Récupération de correspondance numérique la plus proche dans les bases de données SQL

La recherche de la valeur numérique la plus proche dans une table de base de données peut être utile dans diverses applications. Par exemple, cela pourrait aider à identifier des produits similaires, à estimer des valeurs ou à effectuer une interpolation de données.

Considérez la requête SQL donnée :

SELECT * FROM [myTable] 
WHERE Name = 'Test' AND Size = 2 AND PType = 'p' 
ORDER BY Area DESC
Copier après la connexion

Cependant, cette requête ne renvoie que des correspondances exactes pour le Champ « Zone ». Pour trouver la correspondance la plus proche, quelle que soit une correspondance exacte, nous devons modifier la requête.

La solution consiste à calculer la différence absolue entre le champ « Zone » et la valeur d'entrée souhaitée. En faisant cela, nous garantissons que le résultat est toujours positif, que la correspondance soit supérieure ou inférieure à l'entrée. L'ordre croissant est ensuite appliqué pour trier les résultats en fonction de cette différence, et l'enregistrement le plus haut représente la correspondance la plus proche.

La requête modifiée devient :

SELECT TOP 1 * FROM [myTable] 
WHERE Name = 'Test' and Size = 2 and PType = 'p'
ORDER BY ABS( Area - @input ) 
Copier après la connexion

Dans cette requête, '@input' est un paramètre qui représente la valeur d'entrée souhaitée.

En implémentant cette solution, on peut efficacement récupérer la correspondance la plus proche d'une valeur numérique spécifiée dans une base de données et l'utiliser pour la valeur souhaitée. fins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal