mysql實現(xiàn)查詢最接近的記錄數(shù)據(jù)示例
本文實例講述了mysql實現(xiàn)查詢最接近的記錄數(shù)據(jù)。分享給大家供大家參考,具體如下:
查詢場景:現(xiàn)在的需求是查詢年齡最接近20歲的用戶,獲取前5個
我現(xiàn)在的數(shù)據(jù)庫記錄用戶年齡的字段記錄格式是"1995-05-20",字段名稱birthday
解決思路:
1.首先查詢時轉換成用戶年齡
日期格式轉年齡的方法:
(1)當前年份 - 日期格式中的年份
date_format(now(), '%Y') - from_unixtime(unix_timestamp(birthday), '%Y')
(2)當前年份 - 日期格式中的年份(獲取方法不同)
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
更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信