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