请教一个mysql排序问题

qq_34255124 2016-07-27 08:32:04
去每个人最接近10的一个数排序
不管那个是比10大还是比10小 只要最接近10的就拍前面
且每个人取最接近的一个数 请问如何实现
...全文
573 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
数字取接近的排序很简单的,就是相减取绝对值,差值越接近0的就是越接近10
一起混吧 2016-07-28
  • 打赏
  • 举报
回复
引用 3 楼 qq_34255124 的回复:
[quote=引用 1 楼 jordan102 的回复:] select * from (select * from tp_demo order by abs(mark-10) asc) t group by username;
还请问 group 前面的 t 是什么意思 没他不行[/quote]作为派生表的别名
傲雪星枫 2016-07-28
  • 打赏
  • 举报
回复
select * from (select * from tp_demo order by abs(mark-10) asc) t group by username; 这个t 表示(select * from tp_demo order by abs(mark-10) asc)的别名 可以不要
qq_34255124 2016-07-28
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
select * from (select * from tp_demo order by abs(mark-10) asc) t group by username;
还请问 group 前面的 t 是什么意思 没他不行
qq_34255124 2016-07-28
  • 打赏
  • 举报
回复
引用 1 楼 jordan102 的回复:
select * from (select * from tp_demo order by abs(mark-10) asc) t group by username;
真是涨见识了 让自己思路瞬间开阔了 之前一直在想如何才能做到排序 原来只要一减 取正值 在排序 瞬间就OK了 哇 真心谢谢了
一起混吧 2016-07-27
  • 打赏
  • 举报
回复
select * from (select * from tp_demo order by abs(mark-10) asc) t group by username;

20,398

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧