У меня есть таблица, tblTags
, которая работает так же, как система тегов StackOverflows.
Когда я просматриваю страницу тегов, скажем, тег Tutorial
Я хочу отобразить 10 тегов до и после него в алфавитном порядке.
Итак, если нам присваивается тег Tutorial
с идентификатором 30
, как мы можем вернуть набор записей в следующем порядке:
Tap
Tart
> Tutorial
Umbrellas
Unicorns
Xylaphones
Я думал о способах сделать это, на мой взгляд, плохо, поскольку они включают в себя извлечение ужасных объемов данных.
Я не уверен, возможно ли что-то сделать в духе (псевдо):
SELECT RANGE(0 - 30) FROM tblTags ORDER BY Name ASC
Но как вы узнаете позицию тега учебника в списке эффективным образом, не просматривая весь список, пока не найдете его?
Я использую SQL Server 2008 R2 Express с LINQ, если что-то изменится, SQL-запросы или LINQ будут отличными ответами, спасибо!