Member 8583441 Ответов: 2

Как получить значения colum в SQL server


У меня есть столбец в sql server с 15 записями. В этих 15 записях я хочу, например, чтобы отображалось 10 записей, а позже 5 записей должны отображаться после нажатия кнопки, как при создании панели вкладок bootstrap.

Что я уже пробовал:

Запрос:
выберите columnname из таблицы group by columnname order by number asc

С помощью этого запроса в c# asp.net я получаю 15 записей одновременно.... Как я могу достичь этой цели

F-ES Sitecore

Это довольно большая проблема, связанная со многими вещами, и есть много способов сделать это. Google for how to page through data using asp.net и какой бы доступ к базе данных вы ни использовали (entity framework, ado.net, nhibernate и т. д.), Чтобы получить представление о проблемном пространстве и о том, какие существуют возможные решения. Вы даже не сказали, используете ли вы MVC, webforms и т. д., Просто в вашем вопросе недостаточно информации, чтобы дать вам конкретную помощь.

2 Ответов

Рейтинг:
2

CHill60

Концепция, которую вы ищете, называется "пейджинг".

Вот статьи CodeProject, которые помогут вам
Подкачка набора записей ADO в ASP[^]
ASP.NET разбиение на страницы[^]
Как реализовать подкачку в ASP.NET на уровне SQL-запросов[^]


Рейтинг:
12

OriginalGriff

Здесь есть две части: получить десять предметов довольно легко, просто используйте TOP:

SELECT TOP 10 columnname FROM table ORDER BY number asc
Обратите внимание, что вы не можете использовать предложение GROUP BY в вашем примере, потому что в этом случае вы не сможете использовать ORDER BY, если этот столбец не появится в предложении GROUP BY. Это может помочь: SQL GROUP By и ошибка "имя столбца недопустимо в списке выбора, потому что..." [^]

Получить следующую десятку сложнее:
SELECT columnname FROM 
 (SELECT ROW_NUMBER() OVER (ORDER BY columnname ASC) AS RN, columnname FROM table GROUP BY columnname) j
WHERE RN BETWEEN 11 AND 20


Member 8583441

этот запрос хорошо работает с "SELECT TOP 10 columnname FROM table ORDER BY number asc". сэр может ли это быть возможно без использования top

OriginalGriff

Нет, TOP существует для ограничения количества строк. Если вам нужен универсальный pagin, то вам нужно использовать вторую форму.

Member 8583441

тогда не могли бы вы подсказать мне как его создать сэр

OriginalGriff

Попробуйте - код есть!

Member 8583441

Большое вам спасибо, сэр, с этим кодом "SELECT TOP 1 columnname FROM table ORDER BY number asc". Не с 10, но я изменил его на 1, это сработало как заклинание.