Ich möchte die item_id von der Zeile am nächsten über oder am nächsten unten erhalten. Zum Beispiel:Returning nearest rows Taste nach oben oder unten
Also, wenn ich möchte, dass die die Zeile unten, würde ich Eingang 3 und 1 würde zurückgegeben. Wenn ich über 3 wollte, würde ich eingeben und 4 würde zurückgegeben werden.
so etwas wie: exec [myFunction] 3, 'up';
Ich war auf der Suche in die nächste relative Zahl bekommen (https://dba.stackexchange.com/questions/73804/how-to-retrieve-closest-value-based-on-look-up-table). Aber das Problem ist, dass es die nächste Nummer zurückgibt. Wenn ich 3 eingegeben habe, aber die nächste Nummer 7 war, fügte ich eine hinzu, um 4 zu machen, und das würde 3 wieder ergeben. Ich hoffe das ergibt Sinn.
Dann schaute ich es mit der ABS-Funktion (http://www.techfounder.net/2009/02/02/selecting-closest-values-in-mysql/).
SELECT top 1 item_id, ABS(3) AS distance
FROM ndc
ORDER BY distance
Es hat ein ähnliches Problem.
Wie erreiche ich die gewünschten Ergebnisse?