我正在寻找一种解决方案,以获得基于某些参数的行,然后从有序查询中追加该行位置.
因此,我们将查找这样的行:
SELECT *
FROM `table`
WHERE `SomeName`='UniqueName'
ORDER BY `SomeFloat` DESC
这将获得我需要的所有行,但然后我还想连接该查询中此行所在的位置,假设上面有3条记录,其中SomeFloat
比我希望返回的4要高,这可能吗?或者我只需要运行第二个查询?
我目前的第二个问题是:
SELECT COUNT(*)
FROM `table`
WHERE `SomeFloat` > ( SELECT `SomeFloat`
FROM `table`
WHERE `SomeFloat` = 1635
)
因此,我只想联接第二个查询作为初始查询的最后一列,以保存处理(除非这实际上可以忽略不计?) 当然,1635只是一个示例值.
提前谢谢!
编辑:
例如:
第一个命令将搜索该表,并按SomeFloat
对结果进行排序
UniqueID UniqueName SomeFloat SomeText
1 Bob 1.02 Lorem
2 John 12.41 Ipsum
3 Sarah 7.19 Lipsum
4 Michael 123.45 Dorelo
假设我们搜索John
,第二个查询将得到1,因为只有1个结果高出1个结果(Michael‘s).如果我们搜索Bob
,那么这里的结果将是3,因为其他3个更高.
我想要的最终结果是单个查询返回这个,其中第二个查询将生成RowsAbove
.
UniqueID UniqueName SomeFloat SomeText RowsAbove
2 John 12.41 Ipsum 1