------------------------
| | A | |
------------------------
| | B | |
------------------------
| | C | |
------------------------ -----Page 1
| | D | |
------------------------
| | E | |
------------------------
| | F | |
------------------------ -----Page 2
| | F | |
------------------------
| | F | |
------------------------
| | G | | -----Page 3
Пожалуйста, извините за мое искусство ascii, никогда не делал этого раньше.
У меня есть база данных со вторым столбцом, отсортированным, как показано выше. База данных отображается для пользователя в виде «страниц» по 3 строки в каждой.
Затем пользователь собирается искать (через текстовый ввод) некоторые данные из отсортированного второго столбца и хочет, чтобы была возвращена страница с первым вхождением этих данных.
Например, пользователь вводит «F», возвращается страница 2, поскольку она содержит первое вхождение F в этом порядке сортировки.
Например, пользователь вводит «C», возвращается страница 1, поскольку она содержит первое (и единственное) вхождение C в этом порядке сортировки.
Какой запрос сделать это?
Моя первая мысль - найти строку первого вхождения, вычислить, на какой странице он находится, и затем запросить эту страницу как обычно. Это самый эффективный способ или есть какая-то встроенная функциональность.
Спасибо.
-SQL (через C ++ API)
-Визуальная Студия 2003.NET