当前我有表test,字段id,click,share
我的需求是
算出同一id,click数最大的click和share,减去click第二大的click和share
关于mysql查询差值的方法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题