MySql 查找大于或小于值的行数

标签 mysql sql math

我正在尝试使用此公式查找百分位数排名。(B+0.5E)*100/(N) 表示“X”。其中 x 是我在 'emp' 表中拥有的值。B=低于 x 的值的数量,E=等于 x 的值的数量,N = 该表中值的总数。 我在 MySQL 中查找“B”和“E”时遇到困难。我已经尝试过查询,但它不起作用。是否可以为整个公式运行单个查询?

最佳答案

将 B 替换为:

SUM(IF(column_of_value < 'x', column_of_value, 0)) 

和E:

 SUM(IF(column_of_value = 'x', column_of_value, 0))

和 N:

 COUNT(column_of_value)

您的计算结果为:

((SUM(IF(column_of_value < 'x', column_of_value, 0)) + (0.5 * SUM(IF(column_of_value = 'x', column_of_value, 0)))) * 100) / COUNT(column_of_value) AS result

参见SQL Fiddle在这里。

关于MySql 查找大于或小于值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12381886/

相关文章:

mysql - 使用 SQL 计算组合

sql - 预部署脚本不包含在发布脚本中

php - 为什么 $a+++$a == 2?

c# - .NET 中的 BODMAS 原理

php - HTML php 预选选项值加载到下拉列表中

sql - 如何将一组记录汇总为一行,其中一列中只有一条记录包含文本,而其他所有记录均为空?

php - 将图像目录插入MySQL

javascript - 计算内部 div 的宽度/高度(以毫米为单位)(相对于已知宽度/高度(以毫米为单位)的外部 div。)

mysql - 大数据量数据库设计

MySQL - 从三个不同的表中选择数据