Ограничение MySQL для Node.js
Ограничьте результат
Вы можете ограничить количество записей, возвращаемых запросом, с помощью оператора «LIMIT»:
Пример
Выберите 5 первых записей в таблице «клиенты»:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 5";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Сохраните приведенный выше код в файле с именем «demo_db_limit.js» и запустите файл:
Запустите «demo_db_limit.js»
C:\Users\Your Name>node demo_db_limit.js
Что даст вам этот результат:
[
{ id: 1, name: 'John', address: 'Highway 71'},
{ id:
2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 3, name: 'Amy',
address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address:
'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'}
]
Начать с другой позиции
Если вы хотите вернуть пять записей, начиная с третьей записи, вы можете использовать ключевое слово «OFFSET»:
Пример
Начните с позиции 3 и верните следующие 5 записей:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 5 OFFSET 2";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Примечание: "СМЕЩЕНИЕ 2" означает начало с третьей позиции, а не со второй!
Сохраните приведенный выше код в файле с именем «demo_db_offset.js» и запустите файл:
Запустите «demo_db_offset.js»
C:\Users\Your Name>node demo_db_offset.js
Что даст вам этот результат:
[
{ id: 3, name: 'Amy',
address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address:
'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 7, name: 'Betty',
address: 'Green Grass 1'}
]
Более короткий синтаксис
Вы также можете написать свой оператор SQL, например, «LIMIT 2, 5», который возвращает то же, что и в приведенном выше примере смещения:
Пример
Начните с позиции 3 и верните следующие 5 записей:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "SELECT * FROM customers LIMIT 2, 5";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
Примечание . Цифры меняются местами: «LIMIT 2, 5» совпадает с «LIMIT 5 OFFSET 2».