Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpDbLim 213 of 299 menu
◀ ▶

Ограничение числа строк в выборке

Ключевое слово LIMIT обрезает набор после сортировки. Его часто сочетают с ORDER BY, чтобы получить верхние или нижние значения.

Первые две строки после сортировки по убыванию:

import java.sql.DriverManager fun main() { DriverManager.getConnection("jdbc:sqlite:top_rows.db") .use { connection -> connection.createStatement().use { statement -> statement.execute( """ CREATE TABLE IF NOT EXISTS laps ( id INTEGER PRIMARY KEY, ms INTEGER NOT NULL ) """ ) statement.executeUpdate( "INSERT INTO laps (ms) VALUES (120)" ) statement.executeUpdate( "INSERT INTO laps (ms) VALUES (95)" ) statement.executeUpdate( "INSERT INTO laps (ms) VALUES (110)" ) val result = statement.executeQuery( """ SELECT ms FROM laps ORDER BY ms ASC LIMIT 2 """ ) while (result.next()) { println(result.getInt("ms")) } } } }

Число в LIMIT можно передать параметром в PreparedStatement, если размер страницы приходит из программы:

import java.sql.DriverManager fun main() { DriverManager.getConnection("jdbc:sqlite:top_rows.db") .use { connection -> val query = connection.prepareStatement( """ SELECT ms FROM laps ORDER BY ms DESC LIMIT ? """ ) query.setInt(1, 1) val result = query.executeQuery() if (result.next()) { println(result.getInt("ms")) } } }

Создайте таблицу sales в market.db с полем amount, добавьте пять сумм и выведите три наибольших.

Выведите одну минимальную сумму, используя сортировку по возрастанию и LIMIT 1.

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