baidu_32457989 2015-12-28 07:15 采纳率: 50%
浏览 4502
已采纳

关于mysql查询差值的方法

当前我有表test,字段id,click,share
我的需求是
算出同一id,click数最大的click和share,减去click第二大的click和share

  • 写回答

4条回答 默认 最新

  • 谁用了我的英文名 2015-12-28 15:58
    关注

    分析:
    从题主描述的字段值猜测,这是一个类似于“热帖排序”的问题,id并不是我们通常认为的主键id,而是关联到帖子的外键。click值在排序上高于share值,因此先看click再看share,通过两者的一个加权值取得排序结果。
    对于题主所描述的直接需求,个人意见是先limit0,2选取到这两条数据,然后到程序里面慢慢处理,省脑子。
    如果一定要用sql语句完成,那大概是:
    select t1.click1-t2.click2, t1.share1-t2.share2 from (
    select click as click1,share as share1 from test order by click limit0,1
    ) t1 join (
    select click as click2,share as share2 from test order by click limit1,1
    ) t2

    分析“加权值排序”怎么实现。设value = function(click, share);
    那么可以
    select test.* from(
    select function(click,share) as value from test
    ) ids left join test on ids.id = test.id ordy by ids.value

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证