【发布时间】:2020-10-10 19:26:11
【问题描述】:
我面临以下问题... 鉴于此数据: 表:投票
=========
value
=========
10
25
38
90
92
93
98
100
120
如果下一个和之前接受的值之间的差异大于第一个值的 10%,我只想返回该值:
if abs(int(a)-int(b))*100/int(a) < 10:
return True
所以最终列表应该是(我在方括号中添加了 % 差异):
==========
result
==========
10 ()
25 (150%)
38 (52%)
90 (136%)
100 (11%)
120 (20%)
查询还应该首先对这些值进行排序。
我可以使用代码(如上所示)来完成,但没有任何机会接近直接查询。
MySQL v.8.0.19
【问题讨论】:
-
在 MySQL 8.x 中很容易。您使用的是 MySQL 5.x 还是 8.x?
-
在提供示例时,包含不符合条件的行有时会更有帮助。
-
8.x,我已经在原问题中添加了。
标签: mysql sql select window-functions recursive-query