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)文章
MySQL數(shù)據(jù)庫常用操作和技巧(DBA必備知識)
MySQL數(shù)據(jù)庫可以說是DBA們最常見和常用的數(shù)據(jù)庫之一,為了方便大家使用,老MySQL DBA總結(jié)了MySQL數(shù)據(jù)庫最常見和最常使用的一些經(jīng)驗和技巧,與分享大家!2011-03-03
MySQL不使用order by實現(xiàn)排名的三種思路總結(jié)
ORDER BY語句用于根據(jù)指定的列對結(jié)果集進行排序,在日常開發(fā)中也經(jīng)常會用到,但下面這篇文章主要給大家介紹了關(guān)于MySQL不使用order by實現(xiàn)排名的三種思路,需要的朋友可以參考下2021-06-06
Mysql報錯too many connections的原因及解決方案
這篇文章主要給大家介紹了關(guān)于Mysql報錯too many connections原因及解決方案,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下2023-09-09
mysql獲取字符串長度函數(shù)(CHAR_LENGTH)
本文介紹一下關(guān)于mysql獲取字符串長度的方法,希望此教程對各位同學(xué)會有所幫助哦。2013-11-11
my.ini優(yōu)化mysql數(shù)據(jù)庫性能的十個參數(shù)(推薦)
這篇文章主要介紹了my.ini優(yōu)化mysql數(shù)據(jù)庫性能的十個參數(shù)(推薦),需要的朋友可以參考下2015-09-09

