Ограничение числа строк в выборке в Dart
Ключевое слово LIMIT обрезает набор после
сортировки. Его часто сочетают с ORDER BY,
чтобы получить верхние или нижние значения.
Первые две строки после сортировки по возрастанию:
import 'package:sqlite3/sqlite3.dart';
var db = sqlite3.open('top_rows.db');
db.execute('''
CREATE TABLE IF NOT EXISTS laps (
id INTEGER PRIMARY KEY,
ms INTEGER NOT NULL
)
''');
db.execute('INSERT INTO laps (ms) VALUES (120)');
db.execute('INSERT INTO laps (ms) VALUES (95)');
db.execute('INSERT INTO laps (ms) VALUES (110)');
var rows = db.select('''
SELECT ms FROM laps
ORDER BY ms ASC
LIMIT 2
''');
for (var row in rows) {
print(row['ms']);
}
db.dispose();
Число в LIMIT можно передать параметром
?, если размер страницы приходит из программы:
import 'package:sqlite3/sqlite3.dart';
var db = sqlite3.open('top_rows.db');
var rows = db.select('''
SELECT ms FROM laps
ORDER BY ms DESC
LIMIT ?
''', [1]);
if (rows.isNotEmpty) {
print(rows.first['ms']);
}
db.dispose();
Создайте таблицу sales в market.db
с полем amount, добавьте пять сумм и
выведите три наибольших.
Выведите одну минимальную сумму, используя
сортировку по возрастанию и LIMIT 1.