环比求助

ccdbg 2018-02-04 02:33:48

DROP TABLE IF EXISTS `itest`;
CREATE TABLE `itest` (
`date` date NOT NULL,
`num` int(11) DEFAULT NULL,
PRIMARY KEY (`date`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of itest
-- ----------------------------
INSERT INTO `itest` VALUES ('2018-02-01', 100);
INSERT INTO `itest` VALUES ('2018-02-02', 0);
INSERT INTO `itest` VALUES ('2018-02-03', 0);
INSERT INTO `itest` VALUES ('2018-02-04', 90);
INSERT INTO `itest` VALUES ('2018-02-05', 95);
INSERT INTO `itest` VALUES ('2018-02-06', 0);
INSERT INTO `itest` VALUES ('2018-02-07', 80);


数据示例如上,我想按日期顺序(忽略num为0的日期)求出 90/100, 95/90,80/95,谢谢高人们
希望能写成sql语句,不要搞成函数。。。
...全文
202 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2018-02-05
  • 打赏
  • 举报
回复
select a.`date`, a.`num`/(select `num` from itest where `date`<a.`date` and `num`>0 order by `date` desc limit 1) from itest a where num!=0
ccdbg 2018-02-05
  • 打赏
  • 举报
回复
除了感谢+崇拜啥也不说了

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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