Кроме того, вы можете проверить, определено ли $(this).prev().length
, например:
if (!$(this).prev().length){ //This means $(this is the first child
//do stuff
}
Вы можете подсчитать количество записей, в которых значение, которое вы сортируете, имеет меньшее значение, чем запись, значение ключа которой вам известно:
select count(*)
from mytable
where mycolumn < (select mycolumn from mytable where key = 42)
В базах данных, которые его поддерживают, вы можете использовать для этой цели ROW_NUMBER ():
SELECT RowNr
FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn) AS RowNr,
mycolumn
FROM mytable
) sub
WHERE sub.mycolumn = 42
В примере предполагается, что вы ищете первичный ключ 42 :)
Подзапрос необходим, потому что что-то вроде:
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn) AS RowNr
FROM mytable
WHERE sub.mycolumn = 42
Всегда возвращает 1; ROW_NUMBER () работает, так сказать, после WHERE.
SQL так не работает. Он основан на наборах, что означает, что «позиция в этой таблице результатов» не имеет смысла для базы данных.
Вы можете отслеживать позицию, когда вы отображаете ResultSet в коллекцию объектов или когда вы перебираете его.
Вы можете отслеживать позицию, когда вы отображаете ResultSet в коллекцию объектов или когда вы перебираете его.
Вы можете отслеживать позицию, когда вы отображаете ResultSet в коллекцию объектов или когда вы перебираете его.
Невозможно сказать это, не выбрав все подмножество записей. Если ваш ПК имеет целочисленный тип, вы можете
select count(*) from mytable
where id <= 10 -- Record with ID 10
order by mycolumn asc
К сожалению, вы не можете получить «позицию строки в таблице».
Лучшее, что вы можете получить, используя ORDER BY и вариант конструкции ROW_NUMBER (зависит от движка базы данных используется), - это позиция строки в наборе результатов выполненного запроса.
Эта позиция не отображается обратно ни в одну позицию в таблице, если только ORDER BY не находится в наборе столбцов кластеризованного индекса, но даже тогда эта позиция может быть признана недействительной в следующую секунду.
Я хотел бы знать, для чего вы намеревались использовать эту «позицию».