【发布时间】:2017-01-12 23:01:35
【问题描述】:
我想查询我的数据库以了解表格元素的哪个部分/百分比大于/小于给定值。
例如,假设我有一个表shopping_list,其架构如下:
id integer
name text
price double precision
内容:
id name price
1 banana 1
2 book 20
3 chicken 5
4 chocolate 3
我现在要购买一个价格为 4 的新商品,我想知道这个新商品在购物清单中的排名。在这种情况下,元素将大于 50% 的元素。
我知道我可以运行两个查询和count 元素的数量,例如:
-- returns = 4
SELECT COUNT(*)
FROM shopping_list;
-- returns = 2
SELECT COUNT(*)
FROM shopping_list
WHERE price > 4;
但我想使用单个查询来完成,以避免对结果进行后处理。
【问题讨论】:
标签: sql postgresql aggregate-functions ranking