将列条目与同一列中的每个其他条目进行比较

时间:2016-07-12 12:10:50

标签: sql sqlite

我在SQLite中有一列值。

value
-----
 1
 2
 3
 4
 5

对于每个值,我想知道有多少其他值更大并显示结果。例如。对于值1,有4个条目具有更高的值。

value | Count
-------------
  1   |   4
  2   |   3
  3   |   2
  4   |   1
  5   |   0

我尝试过嵌套的select语句并使用Count(*)函数,但我似乎无法提取正确的级别。任何建议都会非常感激。

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以使用SQLite中的相关子查询执行此操作:

select value,
       (select count(*) from t t2 where t2.value > t.value) as "count"
from t;

在大多数其他数据库中,您将使用排名功能,例如rank()dense_rank(),但SQLite不支持这些功能。