Могу ли я получить позицию записи в таблице результатов SQL?

В базах данных, которые его sqlselect поддерживают, для этой цели sql-statement можно использовать ROW_NUMBER():

SELECT RowNr
FROM (
    SELECT 
         ROW_NUMBER() OVER (ORDER BY mycolumn) AS RowNr,
         mycolumn
    FROM mytable
) sub
WHERE sub.mycolumn = 42

В sql примере предполагается, что sql-query вы ищете первичный ключ 42 select-statement :)

Подзапрос необходим, потому sql-select что что-то вроде:

SELECT 
     ROW_NUMBER() OVER (ORDER BY mycolumn) AS RowNr
FROM mytable
WHERE sub.mycolumn = 42

Всегда возвращает sqlselect 1; ROW_NUMBER() работает, так sql сказать, после WHERE.

sql

sql-order-by

2022-09-17T01:09:14+00:00