Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpSqLi 418 of 509 menu
◀ ▶

LIMIT в C#

Ограничение LIMIT обрезает число строк в ответе, OFFSET пропускает указанное количество строк сверху. Вместе они задают постраничный вывод.

Без ORDER BY порядок строк не гарантирован, поэтому для стабильных страниц сортируют по ключу. Запрос с ORDER BY v DESC LIMIT 1 вернёт максимальное значение 3:

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net10.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.14" /> </ItemGroup> </Project>
using Microsoft.Data.Sqlite; using SqliteConnection db = new("Data Source=:memory:"); db.Open(); using (SqliteCommand c = db.CreateCommand()) { c.CommandText = "CREATE TABLE IF NOT EXISTS t (v INT); INSERT INTO t VALUES (1),(2),(3)"; c.ExecuteNonQuery(); } using SqliteCommand q = db.CreateCommand(); q.CommandText = "SELECT v FROM t ORDER BY v DESC LIMIT 1"; Console.WriteLine(q.ExecuteScalar());

Запрос LIMIT 2 OFFSET 2 после сортировки пропускает две строки и берёт две следующие. Это вторая страница по два элемента. Пустой результат возможен, если OFFSET больше числа строк - это не ошибка SQL.

Добавьте идентификаторы от 1 до 4. В порядке возрастания пропустите первые два, возьмите два следующих и выведите больший из них.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить