获取任何数字的表内排名

时间:2013-07-27 14:49:03

标签: mysql sql

我有一个竞标系统。用户输入他想要出价的数量,然后通过ajax将请求发送到PHP脚本,然后获取该出价在现有出价下的等级,然后将其显示回投标人。这使他可以提高他的出价以获得他想要的等级。

例如

+-----------+------------+
| bidder_id | bid_amount |
+-----------+------------+
|  1        | 20         |
|  2        | 20         | 
|  3        | 30         |
|  5        | 40         |
|  6        | 10         |
+-----------+------------+

用户出价15美元,查询获得排名第5。

这个查询怎么样?是否可以使用新用户的出价插入假行,然后订购所有内容?

1 个答案:

答案 0 :(得分:2)

像这样简单的东西应该这样做;

SELECT COUNT(*)+1 rank
FROM bids
WHERE bid_amount > 15

An SQLfiddle to test with