我有一个看起来像这样的列
Quantity
20
40
10
25
我需要获得该列中小于该特定值的值的总数,如
Quantity Value
20 1
40 3
10 0
25 2
答案 0 :(得分:1)
在小于当前值的值上将表连接到自身:
select a.quantity, count(distinct b.id)
from mytable a
left join mytable b on b.quantity < a.quantity
group by a.quantity
选择count(distinct b.id)
处理存在非唯一数量和最低值(没有要加入的行,因此连接将返回空值,count()
将不计算)。< / p>