Могу ли я получить позицию записи в таблице результатов 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
2021-12-22T07:54:45+00:00
2022-09-17T01:09:14+00:00
Nindendo
Вопросы с похожей тематикой, как у вопроса:
Могу ли я получить позицию записи в таблице результатов SQL?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.