牛骨文教育服务平台(让学习变的简单)
博文笔记

Mysql查询某数值条件附近最大值或者最小值

创建时间:2017-01-18 投稿人: 浏览次数:3009

项目中需要每次查询一个表中的最新的一条记录,表结构里面有日期字段。只需要显示一条记录。

Mysql帮助文档里面的解释

3.6.2. 拥有某个列的最大值的行

任务:找出最贵物品的编号、销售商和价格。

这很容易用一个子查询做到:

SELECT article, dealer, price
FROM   shop
WHERE  price=(SELECT MAX(price) FROM shop);

另一个解决方案是按价格降序排序所有行并用MySQL特定LIMIT子句只得到第一行:

SELECT article, dealer, price
FROM shop
ORDER BY price DESC
LIMIT 1;

:如果有多项最贵的物品( 例如每个的价格为19.95),LIMIT解决方案仅仅显示其中一个!




下例:

查询比某条件大但相邻最近的一条数据

select  *
    from message_file_datails where message_file_id>47602488998381241  
ORDER BY message_file_id 
LIMIT 1 ;

查询比某条件小但相邻最近的一条数据
select *
    from message_file_datails where message_file_id<47602488998381241  
ORDER BY message_file_id DESC
LIMIT 1 ;



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。