mysql 取某一条临近的数据

比如我有一张表id 和value,2个字段

id  value
1   10
2   11
3   9
4   16
5   15
6   2
7   8

我想要找最接近10的4个数字,我想得到8,9,10,11这样的结果

结果:

select * from table_name ORDER BY ABS(`value`-10)

时间: 2024-12-15 20:01:12

mysql 取某一条临近的数据的相关文章

MySQL取上一条数据的某个字段值

SELECT @lagfield ,@lagfiled := targField, t.*FROM TABLE t, (SELECT @lagfield := '') r其中targField是你想要在下一行呈现的字段,根据字段是字符还是数字,最后的select 应该不同,如果是数字,则应该(select @lagfield:=0) r 创建自定义函数 CREATE FUNCTION lag(col_name VARCHAR(255))RETURNS VARCHAR(255) BEGIN DEC

LeetCode 177 Nth-Highest Salary mysql,取第n条数据,limit子句 难度:1

https://leetcode.com/problems/nth-highest-salary/ ATTENTION:limit 子句只能接受int常量,不能接受运算式 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET N = N - 1; RETURN ( # Write your MySQL query statement below. select DISTINCT Salary from Employee

mysql取前几行数据limit用法

mysql取前几行数据limit用法 order by id desc limit 10 按照id的倒序排序 取出前10条 order by id desc limit 0,10 按照id的倒序排序 取出前10条 order by id limit 5,10 按照id的正序排序 从第5条开始取10条

mysql update修改多条数据

通常情况下,我们会使用以下SQL语句来更新字段值: 复制代码代码如下: UPDATE mytable SET myfield='value' WHERE other_field='other_value'; 但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免费资源.教程指南.橱窗展示),这些分类目录的信息存储在数据库表categories中,并且设置了显示顺序字段 display_order,每个分类占一行记录.如果我想重新编排这些

mysql使用GROUP BY分组实现取前N条记录的方法

MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT JOIN aa b ON a.ClsNo=b.ClsNo AND a.Score<b.Score group by a.id,a.

Oracle 中sql语句中的取前n条数据

取得薪水最高的前五名员工 sql: select * from ( select empno,ename,sal from emp order by sal desc) where rownum< 6; 注意: select * from ( table ) where rownum< 6; 取前n条数据,oracle中用rownum < m; 1:其中m-1 等于要取的条数 2:rownum 只能有 < ,<= ,没有 > 3: 如m为6,则取得是前5条数据. 原文地

mongo 取随机100条数据写入Excel

Python 读取Mongo取随机100条数据写入Excel # 随机100人获取 关卡数.现金账户.金币账户 from models import UserDayStat, GameUser, UserInfo import xlwt book = xlwt.Workbook() def write_xls(data, sheet_name, excel_name, title_list): global book sheet = book.add_sheet(sheet_name) # 添加

MySQL取每组的前N条记录

一.对分组的记录取前N条记录:例子:取前 2条最大(小)的记录 1 1.用子查询: 2 SELECT * FROM right2 a WHERE 2> 3 (SELECT COUNT(*) FROM right2 b WHERE b.id=a.id AND b.account>a.account) 4 ORDER BY a.id,a.account DESC 5 2.用exists半连接: 6 SELECT * FROM right2 a WHERE EXISTS 7 (SELECT COUN

mysql选择上一条、下一条数据记录

1.表数据结构 选择mysql记录上一条,下一条sql语句 SELECT * FROM user ORDER BY rank ASC +----+------+---------+ | ID | rank | name | +----+------+---------+ | 1 | 1 | admin1 | | 2 | 2 | admin2 | | 3 | 3 | admin3 | | 4 | 4 | admin4 | | 5 | 5 | admin5 | | 6 | 6 | admin6 |