• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql实现查询最接近的记录数据示例

    本文实例讲述了mysql实现查询最接近的记录数据。分享给大家供大家参考,具体如下:

    查询场景:现在的需求是查询年龄最接近20岁的用户,获取前5个

    我现在的数据库记录用户年龄的字段记录格式是"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() 排序获取最接近的数据

    完整的语句:

    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常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

    希望本文所述对大家MySQL数据库计有所帮助。

    您可能感兴趣的文章:
    • 详解MySQL恢复psc文件记录数为0的解决方案
    • PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
    • MySQL数据库查看数据表占用空间大小和记录数的方法
    • MYSQL速度慢的问题 记录数据库语句
    • MySQL通过触发器解决数据库中表的行数限制详解及实例
    • MySQL分区表的局限和限制详解
    • MySQL 如何限制一张表的记录数
    上一篇:详解Mysql基础语法的使用
    下一篇:mysql多个left join连接查询用法分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql实现查询最接近的记录数据示例 mysql,实现,查询,最接,近的,