Heim >Datenbank >MySQL-Tutorial >Wie finde ich mithilfe von SQL die nächstgelegene numerische Übereinstimmung in einer Datenbank?

Wie finde ich mithilfe von SQL die nächstgelegene numerische Übereinstimmung in einer Datenbank?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-03 21:40:40724Durchsuche

How to Find the Closest Numeric Match in a Database Using SQL?

Den nächstgelegenen numerischen Wert in einer Datenbank finden

Diese Diskussion konzentriert sich auf das Extrahieren eines bestimmten Datensatzes aus einer Datenbank, der einer bestimmten Eingabe sehr nahe kommt. Wenn keine genaue Übereinstimmung vorhanden ist, sollte die Abfrage die nächste Übereinstimmung basierend auf einem numerischen Feld zurückgeben.

Die bereitgestellte SQL-Anweisung zielt darauf ab, Daten aus der Tabelle „myTable“ abzurufen und Ergebnisse basierend auf bestimmten Werten für zu filtern Spalten „Name“, „Größe“ und „PType“. Um dem Szenario gerecht zu werden, dass die nächstbeste Übereinstimmung für das Feld „Fläche“ gefunden wird, sind Anpassungen an der Anweisung erforderlich.

Um dies zu erreichen, demonstriert das Beispiel die Verwendung der Funktion „ABS“. Indem die Subtraktion der Spalte „Fläche“ vom Eingabewert in die Funktion „ABS“ eingeschlossen wird, ist das Ergebnis immer positiv, wodurch sichergestellt wird, dass der nachfolgende Sortierschritt genau die nächste Übereinstimmung identifiziert.

Es folgt die geänderte Abfrage unten Bei diesem Konzept werden die Ergebnisse aufsteigend nach der absoluten Differenz zwischen der Spalte „Fläche“ und der Eingabe sortiert:

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

Durch die Einbeziehung dieser Änderung gibt die Abfrage den Datensatz mit einem zurück „Fläche“-Wert, der am ehesten mit dem Eingabewert übereinstimmt, wodurch effektiv die Notwendigkeit entfällt, die nächstgelegene numerische Übereinstimmung in der Datenbank zu finden.

Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe von SQL die nächstgelegene numerische Übereinstimmung in einer Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn