我得到了按特定列排序的以下数据集:
ratio
-----
1
1
1
0.8333
1
1.6667
3.3333
1
我想计算比率等于 1 的行,但只直到我到达比率不 1 的行。 对于上述数据集,我的预期结果是 3(前三行)。
当然我可以在代码中做到这一点,但我只是想知道是否有 SQL 解决方案。
最佳答案
您说数据“按特定列排序”。如果是这样,您可以简单地执行以下操作:
select count(*)
from table t
where specificcolumn < (select min(t2.specificcolumn)
from table t2
where t2.ratio <> 1)
根据顺序,<
可能需要 >
.
注意:这假定特定列具有唯一值。如果值不唯一,则您需要多个列作为唯一键。
关于mysql - SQL 查询返回行数,直到满足特定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31536262/