我有带有价格列和产品列的表'my_table'
如果我传递的值是1800,那么它应该获得第二高的记录,例如
SELECT *, ABS(price-1800) x FROM my_table WHERE product = 1 ORDER BY x LIMIT 1;
Expected output:
id product price
1 p1 2000
如果我传递的值是2200或5000,它将获得类似的记录
SELECT *, ABS(price-2200) x FROM my_table WHERE product = 1 ORDER BY x LIMIT 1;
Expected output:
id product price
1 p1 2500
但是如果我传递值2200,查询就无法按我的期望进行工作,它正在选择记录2000,但是我想要记录2500
如何编写查询来实现这一目标?