从MySQL - Get row number on select 我知道如何使用这个 mysql 查询获取行号/排名:
SELECT @rn:=@rn+1 AS rank, itemID
FROM (
SELECT itemID
FROM orders
ORDER BY somecriteria DESC
) t1, (SELECT @rn:=0) t2;
结果返回如下内容:
+--------+------+
| rank | itemID |
+--------+------+
| 1 | 265 |
| 2 | 135 |
| 3 | 36 |
| 4 | 145 |
| 5 | 123 |
| 6 | 342 |
| 7 | 111 |
+--------+------+
我的问题是:如何在 1 个简单的 SINGLE QUERY 中获得结果,该查询返回排名低于 itemID 145 的项目,即:
+--------+------+
| rank | itemID |
+--------+------+
| 5 | 123 |
| 6 | 345 |
| 7 | 111 |
+--------+------+
也欢迎使用 Oracle sql 查询。谢谢。