В таблице 201 запись. Вы должны показать только номер записи 101 при сортировке по набору одного поля или набору полей, которые однозначно определяют одну запись. Пожалуйста, предложите мне правильный ответ, а также объясните свой ответ.
Объясните свой вопрос, пожалуйста. Какую базу данных вы используете (например, MySQL, Oracle, SQL Server)? Что вы уже пробовали?
@honeybadger готово. Попытайтесь понять мой вопрос. Спасибо
@Tim Biegeleisen готово. Попытайтесь понять мой вопрос. Спасибо
Пожалуйста, включите больше информации. Сортируется ли id? Или по другой колонке?
Что такое "отсортированная таблица"? Я никогда не слышал о таком в любой базе данных.
Вопрос изначально некорректен. В таблице нет такой вещи, как 101-я строка, потому что строки в таблице не сортируются. Либо вы неправильно процитировали вопрос, либо человек, задавший вопрос, не понимает, как работают реляционные базы данных. (Плюс: таблица содержит строки, а не записи)
Вопрос, вероятно, читался как 101-я строка, отсортированная по некоторым критериям. В этом случае ответ будет LIMIT 0, 101.
Я согласен с предыдущими комментариями о том, что логика SQL не учитывает порядок в таблицах, поэтому концепция «отсортированной таблицы» неверна. В любом случае, на вопрос, который они задали, они ссылаются на таблицу, когда она отображается на экране, поэтому очень важно, чтобы они указывали поле, которое вы хотите отсортировать, поскольку разные запуски одного и того же запроса могут иметь разный порядок. Если вы укажете предложение ORDER BY с уникальным полем или комбинацией, вы всегда получите один и тот же порядок.






привет, вы должны указать идентификационный номер, например
SELECT name
FROM table
WHERE id=101 -- Assume if you want to find id of 101 from 201 records in a table"
Вы уверены, что? Что делать, если идентификаторы отсутствуют или не были назначены в порядке возрастания?
честно говоря, учитывая отсутствие информации у ОП, это такой же хороший ответ, как и любой другой.
не имеет значения, если идентификаторы не назначены или не в порядке Этого можно добиться с помощью функции T-SQL ROW_NUMBER (Transact-SQL).
Нумерует выходные данные результирующего набора. В частности, возвращает порядковый номер строки в разделе результирующего набора, начиная с 1 для первой строки в каждом разделе.
Какое отношение к вопросу?
Я не эксперт в MySQL, но приведенный ниже запрос должен показать вам именно то, что вам нужно, используя LIMIT:
SELECT *
FROM <YourTable>
ORDER BY <OrderField>
LIMIT 1 OFFSET 100
Предельная оговорка состоит из двух частей:
LIMIT <row_count> OFFSET <offset>
[row_count]: сколько строк вы хотите показать
[смещение]: сколько строк вы хотите игнорировать, прежде чем показывать данные
Не забывайте, что нужно указать имя таблицы и поле, где вы хотите упорядочить строки. Во-первых, система отсортирует и покажет [row_count], игнорируя количество, указанное в [offset].
Каков порядок? Без порядка 101-я строка не имеет смысла, поскольку таблицы по своей сути не отсортированы.