选择TOP X(或底部)百分比作为MySQL中的数值

选择TOP X(或底部)百分比作为MySQL中的数值,第1张

选择TOP X(或底部)百分比作为MySQL中的数值

更新
:更深思熟虑的主题解释从更了解的人在这里。尽管如此,MySQL
似乎仍然没有 嵌入式 函数来计算百分位数。

尝试:

价格 > =的情况下选择从价格中(=从价格中选择0.9 最大(价格))

SELECt price FROM prices p1 WHERe(SELECt count(*) FROM prices p2 WHERe p2.price >= p1.price) <=     (SELECt 0.1 * count(*) FROM prices));

这将给出价格 P1 ,其 价格 表中 价格 > = P1记录数将是 价格 表中记录总数的十分之一。之后:

SELECt * FROM prices WHERe price >= (SELECt price FROM prices p1 WHERe(SELECt count(*) FROM prices p2 WHERe p2.price >= p1.price) <=     (SELECt 0.1 * count(*) FROM prices));

将返回所有所需的记录。

注意: 我没有检查此查询的性能,我认为使用临时表/变量的解决方案必须更有效。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5018235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存