mysql實(shí)現(xiàn)查詢(xún)最接近的記錄數(shù)據(jù)示例
本文實(shí)例講述了mysql實(shí)現(xiàn)查詢(xún)最接近的記錄數(shù)據(jù)。分享給大家供大家參考,具體如下:
查詢(xún)場(chǎng)景:現(xiàn)在的需求是查詢(xún)年齡最接近20歲的用戶(hù),獲取前5個(gè)
我現(xiàn)在的數(shù)據(jù)庫(kù)記錄用戶(hù)年齡的字段記錄格式是"1995-05-20",字段名稱(chēng)birthday
解決思路:
1.首先查詢(xún)時(shí)轉(zhuǎn)換成用戶(hù)年齡
日期格式轉(zhuǎn)年齡的方法:
(1)當(dāng)前年份 - 日期格式中的年份
date_format(now(), '%Y') - from_unixtime(unix_timestamp(birthday), '%Y')
(2)當(dāng)前年份 - 日期格式中的年份(獲取方法不同)
date_format(now(), '%Y') - year(birthday)
2.通過(guò)order by asb()
排序獲取最接近的數(shù)據(jù)
完整的語(yǔ)句:
SELECT (date_format(now(), '%Y') - year(birthday)) as age FROM user WHERE is_anchor = 1 ORDER BY abs(20 - age) limit 0,5
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
相關(guān)文章
MySQL手動(dòng)注冊(cè)binlog文件造成主從異常的原因
這篇文章主要介紹了MySQL手動(dòng)注冊(cè)binlog文件造成主從異常的原因,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-10-10解決Access denied for user root @&nbs
這篇文章給大家介紹了解決:Access denied for user ‘root‘@‘192.168.120.1‘ (using password: YES)的問(wèn)題,文中通過(guò)圖文和代碼給大家分析的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-01-01mysql8關(guān)閉binlog并清空Binlog的方法
這篇文章主要介紹了mysql8關(guān)閉binlog并清空Binlog,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09mysql備份恢復(fù)mysqldump.exe幾個(gè)常用用例
收集了,一個(gè)整理不錯(cuò)的,mysql備份與恢復(fù)用法2008-08-08sql語(yǔ)句 update字段null不能用is null問(wèn)題
這篇文章主要介紹了sql語(yǔ)句 update字段null不能用is null問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Mysql事物鎖等待超時(shí)Lock wait timeout exceeded;的解決
本文主要介紹了Mysql事物鎖等待超時(shí)Lock wait timeout exceeded;的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03MySQL Innodb表導(dǎo)致死鎖日志情況分析與歸納
發(fā)現(xiàn)當(dāng)備份表格的sql語(yǔ)句與刪除該表部分?jǐn)?shù)據(jù)的sql語(yǔ)句同時(shí)運(yùn)行時(shí),mysql會(huì)檢測(cè)出死鎖,并打印出日志2012-12-12