Mysql查詢某數值條件附近最大值或者最小值

2021-07-26 05:46:34 字數 802 閱讀 8028

專案中需要每次查詢乙個表中的最新的一條記錄,表結構裡面有日期字段。只需要顯示一條記錄。

任務:找出最貴物品的編號、銷售商和**。

這很容易用乙個子查詢做到:

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 ;

mysql查詢附近優化思路

思路就是一,怎麼使用索引,如何縮小範圍 1.按照地區進行縮小範圍 例如中國,就比全球要小,北京又比中國要小,甚至精確到某個區,縣等 2.通過geohash演算法,建立索引 其實就是通過一種編碼方式,將二維的經緯度轉換為一維的,類似於那將整個地球劃分成4000 4000,每個格仔再劃分成10 10,最...

mysql查詢條件 Mysql查詢條件的使用

mysql查詢條件的使用 方法 解釋 gt 大於 gte 大於等於 lt 小於 lte 小於等於 例如 article article.objects.filter id gt 5 startswith 以指定某個字串開始,大小寫敏感 istartswith 以指定某個字串開始,大小寫不敏感 end...

mysql條件查詢

語法 select 查詢列表 from 表名where 篩選條件 分類 一.按條件表示式篩選 條件運算子 不等於 二.按邏輯表示式篩選 邏輯運算子 and or not 三.模糊查詢 like between and in is null 四.排序查詢 語法 select 查詢列表 from 表 w...